execute method

void execute(
  1. String query
)

Execute a query, discarding any returned rows.

Implementation

void execute(String query) {
  Pointer<Pointer<Statement>> statementOut = calloc();
  Pointer<Utf8> queryC = query.toNativeUtf8();
  int resultCode = bindings.sqlite3_prepare_v2(
      _database, queryC, -1, statementOut, nullptr);
  Pointer<Statement> statement = statementOut.value;
  calloc.free(statementOut);
  calloc.free(queryC);

  while (resultCode == Errors.SQLITE_ROW || resultCode == Errors.SQLITE_OK) {
    resultCode = bindings.sqlite3_step(statement);
  }
  bindings.sqlite3_finalize(statement);
  if (resultCode != Errors.SQLITE_DONE) {
    throw _loadError(resultCode);
  }
}