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
Extensions
- DatabaseFactoryLoggerDebugExt on DatabaseFactory
- Debug extension for Logger.
- SqfliteDatabaseExecutorExt on DatabaseExecutor
- Helpers
- SqfliteDatabaseFactoryDebug on DatabaseFactory
- Debug extension
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 OpenDatabaseOptions.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 OpenDatabaseOptions.onCreate/OpenDatabaseOptions.onUpgrade/OpenDatabaseOptions.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