query method

Future<List<MssqlRow>> query(
  1. MssqlSelectQuery query, {
  2. MssqlDialect? dialect,
  3. Duration? timeout,
  4. MssqlQueryOptions options = MssqlQueryOptions.defaults,
})

Executes a built MssqlSelectQuery through this database's session.

dialect defaults to whatever the server actually is, asked once and cached in capabilities — the same resolution the generated table queries use. Passing it explicitly pins the compilation, which is what a test or a cross-version snapshot wants.

Implementation

Future<List<MssqlRow>> query(
  MssqlSelectQuery query, {
  MssqlDialect? dialect,
  Duration? timeout,
  MssqlQueryOptions options = MssqlQueryOptions.defaults,
}) async {
  final statement = query.compile(dialect: dialect ?? await resolveDialect());
  return session.queryTypedRows(
    statement.sql,
    parameters: statement.parameters,
    options: options,
    timeout: timeout ?? options.timeout,
    cancellationToken: options.cancellationToken,
    retry: statement.readRetry,
  );
}