execute method
Implementation
Future<int> execute(
String fmtString, {
Map<String, Object?>? values,
int? timeoutInSeconds,
int? expectedResultCount,
bool useExtendedQuery = false,
}) async {
try {
assert(_assertCorrectValues(values));
_logger.finest('Executing query: $fmtString with values: $values');
final int result;
if (useExtendedQuery) {
final sqlResult = await _conn.query(fmtString,
substitutionValues: values, timeoutInSeconds: timeoutInSeconds);
result = sqlResult.affectedRowCount;
} else {
result = await _conn.execute(fmtString,
substitutionValues: values, timeoutInSeconds: timeoutInSeconds);
}
if (expectedResultCount != null && result != expectedResultCount) {
throw StateError(
'Expected result: $expectedResultCount but got $result. '
'for query: $fmtString');
}
return result;
} catch (e, stackTrace) {
_logger.warning(
'Error while running statement $fmtString', e, stackTrace);
rethrow;
}
}