sqlStream method

DatasetArrowBatches sqlStream({
  1. required String query,
  2. List<TableRef>? tables,
  3. ArrowTable? params,
  4. List<String>? namespace,
  5. String? branch,
})

Implementation

DatasetArrowBatches sqlStream({
  required String query,
  List<TableRef>? tables,
  ArrowTable? params,
  List<String>? namespace,
  String? branch,
}) {
  return (() async* {
    final result = await executeSql(query: query, tables: tables, params: params, namespace: namespace, branch: branch);
    if (result is DatasetSqlStatement) {
      throw RoomServerException("SQL statement did not return rows; rows_affected=${result.rowsAffected}");
    }
    final opened = result as DatasetSqlQuery;
    try {
      yield* readSqlQuery(queryId: opened.queryId);
    } finally {
      await closeSqlQuery(queryId: opened.queryId);
    }
  })();
}