execute method
Executes a D1 write and rejects results that contain returned rows.
D1 cannot distinguish a write from a row-returning statement that happens to return zero rows. Callers must therefore follow SqlExecutor's contract and use query for every potentially row-returning statement.
Implementation
@override
Future<SqlWriteResult> execute(BoundSql statement) async {
_ensureOpen();
_requireTopLevelExecute(statement);
final JSAny? result;
try {
result = await _prepare(statement).run().toDart;
} on Object catch (error) {
_throwD1(error);
}
return _readWriteResult(result);
}