stream method

Stream<MssqlRow> stream(
  1. MssqlSession session, {
  2. MssqlDialect dialect = MssqlDialect.sql2012,
  3. Duration? timeout,
  4. MssqlCancellationToken? cancellationToken,
  5. MssqlQueryOptions options = MssqlQueryOptions.defaults,
})

Maps the native row stream without buffering the whole result.

Implementation

Stream<MssqlRow> stream(
  MssqlSession session, {
  MssqlDialect dialect = MssqlDialect.sql2012,
  Duration? timeout,
  MssqlCancellationToken? cancellationToken,
  MssqlQueryOptions options = MssqlQueryOptions.defaults,
}) async* {
  final statement = compile(dialect: dialect);
  await for (final event in session.stream(
    statement.sql,
    parameters: statement.parameters,
    options: options,
    timeout: timeout,
    cancellationToken: cancellationToken,
    batchRows: options.batchRows,
  )) {
    if (event is MssqlRowBatch) {
      for (final row in event.rows) {
        yield row;
      }
    }
  }
}