sqlite_crdt library
Classes
- BaseCrdt
- Intercepts CREATE TABLE queries to assist with table creation and updates
- Batch
- A batch is used to perform multiple operation as a single atomic unit. A Batch object can be acquired by calling Database.batch. It provides methods for adding operation. None of the operation will be executed (or visible locally) until commit() is called.
- Crdt
- Database
-
Database to send sql commands, created during
openDatabase
- DatabaseApi
- DatabaseExecutor
- Common API for Database and Transaction to execute SQL commands
- DatabaseFactory
- Basic databases operations
- Hlc
- A Hybrid Logical Clock implementation. This class trades time precision for a guaranteed monotonically increasing clock in distributed systems. Inspiration: https://cse.buffalo.edu/tech-reports/2014-04.pdf
-
MergeError<
T> - Thrown on merge errors. Contains the failed payload to help with debugging large datasets.
- OpenDatabaseOptions
-
Options for opening the database
see
openDatabase
for details - QueryCursor
- Cursor for query by page cursor.
- SqlCrdt
- SqliteCrdt
- TimestampedCrdt
- Transaction
- Database transaction to use during a transaction
- TransactionCrdt
Enums
- ConflictAlgorithm
- Insert/Update conflict resolver
Extensions
- CrdtChangesetX on CrdtChangeset
- DatabaseFactoryLoggerDebugExt on DatabaseFactory
- Debug extension for Logger.
- SqfliteDatabaseExecutorExt on DatabaseExecutor
- Helpers
- SqfliteDatabaseFactoryDebug on DatabaseFactory
- Debug extension
- StringHlcX on String
Constants
- inMemoryDatabasePath → const String
- Special database name opened in memory
Properties
- onDatabaseDowngradeDelete → OnDatabaseVersionChangeFn
-
Downgrading will delete the database and open it again.
final
- sqfliteLogLevelNone → int
-
No logs
final
- sqfliteLogLevelSql → int
-
Log native sql commands
final
- sqfliteLogLevelVerbose → int
-
Log native verbose
final
Functions
-
generateNodeId(
) → String -
onDatabaseVersionChangeError(
Database db, int oldVersion, int newVersion) → Future< void> -
to specify during
openDatabase
foronDowngrade
Downgrading will always fail -
parseCrdtChangeset(
Map< String, dynamic> message) → CrdtChangeset - Utility function to simplify parsing untyped changesets. It performs all necessary casts to satisfy Dart's type system, and parses Hlc timestamps. Useful when receiving datasets over the wire.
Typedefs
-
CrdtChangeset
= Map<
String, CrdtTableChangeset> -
CrdtRecord
= Map<
String, Object?> -
CrdtTableChangeset
= List<
CrdtRecord> -
OnDatabaseConfigureFn
= FutureOr<
void> Function(Database db) -
Prototype of the function called before calling
onCreate
/onUpdate
/onOpen
when the database is open. -
OnDatabaseCreateFn
= FutureOr<
void> Function(Database db, int version) - Prototype of the function called when the database is created.
-
OnDatabaseOpenFn
= FutureOr<
void> Function(Database db) - Prototype of the function called when the database is open.
-
OnDatabaseVersionChangeFn
= FutureOr<
void> Function(Database db, int oldVersion, int newVersion) - Prototype of the function called when the version has changed.
-
Query
= (String, List<
Object?> )
Exceptions / Errors
- ClockDriftException
- DatabaseException
- Wrap sqlite native exception
- DuplicateNodeException
- OverflowException