backends library

Utility classes to implement custom database backends that work together with drift.

Classes

ArgumentsForBatchedStatement
Instruction to run a batched sql statement with the arguments provided.
BatchedStatements
Stores information needed to run batched statements in the order they were issued without preparing statements multiple times.
DatabaseDelegate
An interface that supports sending database queries. Used as a backend for drift.
DbVersionDelegate
An interface that supports setting the database version.
DelegatedDatabase
A database engine (implements QueryExecutor) that delegates the relevant work to a DatabaseDelegate.
DynamicVersionDelegate
A database that supports setting the schema version at any time.
NoTransactionDelegate
A TransactionDelegate for database APIs which don't already support creating transactions. Drift will send a BEGIN TRANSACTION statement at the beginning, then block the database, and finally send a COMMIT statement at the end.
NoVersionDelegate
A database that doesn't support setting schema versions.
OnOpenVersionDelegate
A database that only support setting the schema version while being opened.
QueryDelegate
An interface which can execute sql statements.
QueryExecutor
A query executor is responsible for executing statements on a database and return their results in a raw form.
QueryExecutorUser
Callbacks passed to QueryExecutor.ensureOpen to run schema migrations when the database is first opened.
QueryResult
A result from an select statement.
SupportedTransactionDelegate
A TransactionDelegate for database APIs which do support creating and managing transactions themselves.
TransactionDelegate
An interface to start and manage transactions.
TransactionExecutor
A QueryExecutor that runs multiple queries atomically.
WrappedTransactionDelegate
A TransactionDelegate for database APIs that have it's own transaction function

Enums

SqlDialect
An enumeration of database systems supported by drift. Only SqlDialect.sqlite is officially supported, all others are in an experimental state at the moment.