execute method

  1. @override
Future<ResultSet> execute(
  1. String sql, [
  2. List<Object?> parameters = const []
])
override

Execute a write query (INSERT, UPDATE, DELETE) and return the results (if any).

Implementation

@override
Future<sqlite.ResultSet> execute(String sql,
    [List<Object?> parameters = const []]) async {
  return writeLock((ctx) async {
    try {
      await ctx.execute(
          'UPDATE ps_tx SET current_tx = next_tx, next_tx = next_tx + 1 WHERE id = 1');
      return await ctx.execute(sql, parameters);
    } finally {
      await ctx.execute('UPDATE ps_tx SET current_tx = NULL WHERE id = 1');
    }
  }, debugContext: 'execute()');
}