API reference › @evolu/common › Sqlite › SqliteDriver

Defined in: packages/common/src/Sqlite.ts:292

SQLite driver interface.

Platform-specific drivers must implement this interface.

Extends

Methods

[dispose]()

[dispose](): void;

Defined in: node_modules/@typescript/old/lib/lib.esnext.disposable.d.ts:34

Inherited from

Disposable.[dispose]

Properties

deleteDatabase

readonly deleteDatabase: () => void;

Defined in: packages/common/src/Sqlite.ts:312

Disposes this driver, then deletes its persistent database file.


exec

readonly exec: (query: SqliteQuery) => SqliteExecResult;

Defined in: packages/common/src/Sqlite.ts:293


export

readonly export: () => Uint8Array<ArrayBuffer>;

Defined in: packages/common/src/Sqlite.ts:320

Returns bytes backed by ArrayBuffer.

Exported databases are forwarded through worker postMessage transfer lists, which require transferable ArrayBuffer backing.


iterate

readonly iterate: (query: SqliteQuery, onRow: (row: SqliteRow) => boolean) => void;

Defined in: packages/common/src/Sqlite.ts:306

Runs a query that reads and returns rows, as Sqlite.iterate describes, and passes its rows to onRow one at a time until it returns false or the rows end, stepping no row past the one it stops at. Then it resets or finalizes the statement, also when onRow throws, which it rethrows. It may throw for a query without result columns.

onRow can read with SqliteDriver.exec, so an iteration must not step a statement that exec can reuse, such as a cached prepared statement.