getAsMapWithMeta method

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

Implementation

@override
Future<List<Map<String, Map<String, dynamic>>>> getAsMapWithMeta(String query,
    {Map<String, dynamic>? substitutionValues}) async {
  logger?.fine('Query: $query');
  logger?.fine('Values: $substitutionValues');
  //return _connection.mappedResultsQuery(query, substitutionValues: substitutionValues);

  var results = <Map<String, Map<String, dynamic>>>[];
  try {
    results = await connection!.mappedResultsQuery(query,
        substitutionValues: substitutionValues,
        timeoutInSeconds: connectionInfo.timeoutInSeconds);
  } catch (e) {
    //reconnect in Error
    //PostgreSQLSeverity.error : Attempting to execute query, but connection is not open.
    if (connectionInfo.reconnectIfConnectionIsNotOpen == true &&
            '$e'.contains('connection is not open') ||
        '$e'.contains('database connection closing')) {
      await reconnect();
      results = await connection!.mappedResultsQuery(query,
          substitutionValues: substitutionValues,
          timeoutInSeconds: connectionInfo.timeoutInSeconds);
    } else {
      rethrow;
    }
  }
  return results;
}