select method

  1. @override
Future<QueryResult?> select(
  1. String sql, [
  2. List? arguments
])
override

The standard query method.

Implementation

@override
Future<QueryResult?> select(String sql, [List<dynamic>? arguments]) async {
  int count = 1;
  Map<String, dynamic>? paramsMap;
  if (arguments != null) {
    paramsMap = {};
    for (var arg in arguments) {
      String placeHolder = "p$count";
      paramsMap[placeHolder] = arg;
      sql = sql.replaceFirst("?", "@" + placeHolder);
      count++;
    }
  }
  try {
    var sqlResult = await _db?.query(sql, substitutionValues: paramsMap);
    return PGQueryResult.fromPostgresqlResult(sqlResult);
  } on Exception catch (ex, s) {
    SLogger().e("Select error.", ex, s);
    rethrow;
  }
}