Information used to load an extension through sqlite3_auto_extension
,
exposed by Sqlite3.ensureExtensionLoaded.
Note that this feature is not a direct wrapper around sqlite3's dynamic
extension loading mechanism. In sqlite3 builds created through
sqlite3_flutter_libs
, dynamic extensions are omitted from sqlite3 due to
security concerns.
However, if you want to manually load extensions, you can do that with a SqliteExtension where the entrypoint is already known. This puts the responsibility of dynamically loading code onto you.
For an example of how to write and load extensions, see
- this C file: https://github.com/simolus3/sqlite3.dart/blob/main/sqlite3/test/ffi/test_extension.c
- this Dart test loading it: https://github.com/simolus3/sqlite3.dart/blob/a9a379494c6b8d58a3c31cf04fe16e83b49130f1/sqlite3/test/ffi/sqlite3_test.dart#L35
- Or, alternatively, this Flutter example: https://github.com/simolus3/sqlite3.dart/tree/main/sqlite3/example/custom_extension
Constructors
-
SqliteExtension(Pointer<
Void> extensionEntrypoint) -
A sqlite extension having the given
extensionEntrypoint
as a function pointer.factory - SqliteExtension.inLibrary(DynamicLibrary library, String symbol)
-
A sqlite extension from another library with a given symbol as an
entrypoint.
factory
- SqliteExtension.staticallyLinked(String symbol)
-
A sqlite extension assumed to be statically linked into the sqlite3
library loaded by this package.
factory
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited