WasmDatabase class

An experimental, WebAssembly based implementation of a drift sqlite3 database.

Using this database requires adding a WebAssembly file for sqlite3 to your app. Details for that are available here.

Inheritance

Constructors

WasmDatabase({required CommmonSqlite3 sqlite3, required String path, WasmDatabaseSetup? setup, IndexedDbFileSystem? fileSystem, bool logStatements = false})
Creates a wasm database at path in the virtual file system of the sqlite3 module. If fileSystem provided, the data is guaranteed to be stored in the IndexedDB when the request is complete. Attention! Insert/update queries may be slower when this option enabled. If you want to insert more than one rows, be sure you run in a transaction if possible.
factory
WasmDatabase.inMemory(CommmonSqlite3 sqlite3, {WasmDatabaseSetup? setup, bool logStatements = false})
Creates an in-memory database in the loaded sqlite3 database.
factory

Properties

delegate DatabaseDelegate
The DatabaseDelegate to send queries to.
finalinherited
dialect SqlDialect
The SqlDialect to use for this database engine.
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
impl QueryDelegate
no setterinherited
isSequential bool
finalinherited
logStatements bool
getter/setter pairinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

beginTransaction() TransactionExecutor
Starts a TransactionExecutor.
inherited
close() Future<void>
Closes this database connection and releases all resources associated with it. Implementations should also handle close calls in a state where the database isn't open.
inherited
ensureOpen(QueryExecutorUser user) Future<bool>
Opens the executor, if it has not yet been opened.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
runBatched(BatchedStatements statements) Future<void>
Prepares and runs statements.
inherited
runCustom(String statement, [List<Object?>? args]) Future<void>
Runs a custom SQL statement without any variables. The result of that statement will be ignored.
inherited
runDelete(String statement, List<Object?> args) Future<int>
Runs an delete statement and returns how many rows where affected.
inherited
runInsert(String statement, List<Object?> args) Future<int>
Runs an insert statement with the given variables. Returns the row id or the auto_increment id of the inserted row.
inherited
runSelect(String statement, List<Object?> args) Future<List<Map<String, Object?>>>
Runs a select statement with the given variables and returns the raw results.
inherited
runUpdate(String statement, List<Object?> args) Future<int>
Runs an update statement with the given variables and returns how many rows where affected.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited