streamQueryColumnar method

  1. @override
Stream<Result<TypedColumnarResult>> streamQueryColumnar(
  1. String connectionId,
  2. String sql
)
override

Stream-shaped sibling of executeQueryColumnar. Each emitted item is a complete TypedColumnarResult (a single chunk for the named query API; multiple chunks when the underlying engine streams).

Implementation

@override
Stream<Result<TypedColumnarResult>> streamQueryColumnar(
  String connectionId,
  String sql,
) async* {
  await for (final chunk in _repository.streamQuery(connectionId, sql)) {
    yield chunk.fold(
      (qr) => Success<TypedColumnarResult, OdbcError>(toTypedColumnar(qr)),
      (e) => Failure<TypedColumnarResult, OdbcError>(e as OdbcError),
    );
  }
}