streamStartAsync method

int? streamStartAsync(
  1. int connectionId,
  2. String sql, {
  3. int fetchSize = 1000,
  4. int chunkSize = 64 * 1024,
  5. int resultEncodingWire = 0,
})
inherited

Starts async batched streaming query execution.

Returns stream ID (>0) on success, 0 on native failure, and null when async stream API is unavailable.

Implementation

int? streamStartAsync(
  int connectionId,
  String sql, {
  int fetchSize = 1000,
  int chunkSize = 64 * 1024,
  int resultEncodingWire = 0,
}) {
  if (!_bindings.supportsAsyncStreamApi) {
    return null;
  }
  return _withSql<int>(
    sql,
    (sqlPtr) {
      if (resultEncodingWire != 0) {
        final optionsId = _bindings.odbc_stream_start_async_options(
          connectionId,
          sqlPtr,
          fetchSize,
          chunkSize,
          resultEncodingWire,
        );
        if (optionsId != null) {
          return optionsId;
        }
      }
      return _bindings.odbc_stream_start_async(
        connectionId,
        sqlPtr,
        fetchSize,
        chunkSize,
      );
    },
  );
}