query method

  1. @override
Future<List<Map<String, dynamic>>> query(
  1. String sql, {
  2. Map<String, dynamic>? parameters,
})
override

Execute a query and return mapped results

Implementation

@override
Future<List<Map<String, dynamic>>> query(
  String sql, {
  Map<String, dynamic>? parameters,
}) async {
  await _ensureOpen();

  final result = await _connection!.execute(
    Sql.named(sql),
    parameters: parameters ?? {},
  );

  return result.map((row) {
    final map = <String, dynamic>{};
    for (var i = 0; i < row.length; i++) {
      final name = result.schema.columns[i].columnName ?? 'col_$i';
      map[name] = row[i];
    }
    return map;
  }).toList();
}