execute method

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

Implementation

@override
Future<int> execute(String query,
    {Map<String, dynamic>? substitutionValues}) async {
  logger?.fine('Query: $query');
  logger?.fine('Values: $substitutionValues');

  var results;
  try {
    results = await connection!.execute(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!.execute(query,
          substitutionValues: substitutionValues,
          timeoutInSeconds: connectionInfo.timeoutInSeconds);
    } else {
      rethrow;
    }
  }

  return results;
}