sqflite_ffi library

Classes

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.
Database
Database to send sql commands, created during openDatabase
DatabaseExecutor
Common API for Database and Transaction to execute SQL commands
DatabaseFactory
Basic databases operations
OpenDatabaseOptions
Options for opening the database see openDatabase for details
QueryCursor
Cursor for query by page cursor.
Transaction
Database transaction to use during a transaction

Enums

ConflictAlgorithm
Insert/Update conflict resolver

Constants

inMemoryDatabasePath → const String
Special database name opened in memory

Properties

databaseFactory DatabaseFactory
sqflite Default factory.
getter/setter pair
databaseFactoryFfi DatabaseFactory
The database factory to use for ffi.
no setter
databaseFactoryFfiNoIsolate DatabaseFactory
The database factory to use for ffi without isolate
no setter
databaseFactoryOrNull DatabaseFactory?
Default database factory.
getter/setter pair
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

createDatabaseFactoryFfi({SqfliteFfiInit? ffiInit, bool noIsolate = false}) DatabaseFactory
Creates an FFI database factory. Optionally the FFIInit function can be provided if you want to override some behavior with the sqlite3 dynamic library opening. This function should be either a top level function or a static function. Prefer the use of the databaseFactoryFfi getter if you don't need this functionality.
databaseExists(String path) Future<bool>
Check if a database exists at a given path.
deleteDatabase(String path) Future<void>
Delete the database at the given path.
getDatabasesPath() Future<String>
Get the default databases location.
onDatabaseVersionChangeError(Database db, int oldVersion, int newVersion) Future<void>
to specify during openDatabase for onDowngrade Downgrading will always fail
openDatabase(String path, {int? version, OnDatabaseConfigureFn? onConfigure, OnDatabaseCreateFn? onCreate, OnDatabaseVersionChangeFn? onUpgrade, OnDatabaseVersionChangeFn? onDowngrade, OnDatabaseOpenFn? onOpen, bool? readOnly = false, bool? singleInstance = true}) Future<Database>
Open the database at a given path
openReadOnlyDatabase(String path, {bool? singleInstance = true}) Future<Database>
Open the database at a given path in read only mode
sqfliteFfiInit() → void
Optional. Initialize ffi loader.

Typedefs

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.
SqfliteFfiInit = void Function()
Signature responsible for overriding the SQLite dynamic library to use.

Exceptions / Errors

DatabaseException
Wrap sqlite native exception