@@ -34,6 +34,9 @@ final supportsPrepareV3 = sqlite3_libversion_number() >= _firstVersionForV3;
3434final supportsErrorOffset =
3535 sqlite3_libversion_number () >= _firstVersionForErrorOffset;
3636
37+ final databaseFinalizer = NativeFinalizer (addresses.sqlite3_close_v2.cast ());
38+ final statementFinalizer = NativeFinalizer (addresses.sqlite3_finalize.cast ());
39+
3740final sessionDeleteFinalizer = NativeFinalizer (
3841 addresses.sqlite3session_delete.cast (),
3942);
@@ -225,7 +228,10 @@ final class FfiBindings implements RawSqliteBindings {
225228 flags,
226229 vfsPtr,
227230 );
228- final result = SqliteResult (resultCode, FfiDatabase (outDb.value));
231+ final result = (
232+ resultCode: resultCode,
233+ result: outDb.value.isNullPointer ? null : FfiDatabase (outDb.value),
234+ );
229235
230236 namePtr.free ();
231237 outDb.free ();
@@ -730,7 +736,7 @@ final class FfiChangesetIterator implements RawChangesetIterator, Finalizable {
730736 }
731737
732738 @override
733- SqliteResult <RawSqliteValue ? > sqlite3changeset_new (int columnNumber) {
739+ SqliteResult <RawSqliteValue > sqlite3changeset_new (int columnNumber) {
734740 final outValue = allocate <Pointer <sqlite3_value>>();
735741 final result = libsqlite3.sqlite3changeset_new (
736742 iterator,
@@ -740,7 +746,10 @@ final class FfiChangesetIterator implements RawChangesetIterator, Finalizable {
740746 final value = outValue.value;
741747 outValue.free ();
742748
743- return SqliteResult (result, value.isNullPointer ? null : FfiValue (value));
749+ return (
750+ resultCode: result,
751+ result: value.isNullPointer ? null : FfiValue (value),
752+ );
744753 }
745754
746755 @override
@@ -749,7 +758,7 @@ final class FfiChangesetIterator implements RawChangesetIterator, Finalizable {
749758 }
750759
751760 @override
752- SqliteResult <RawSqliteValue ? > sqlite3changeset_old (int columnNumber) {
761+ SqliteResult <RawSqliteValue > sqlite3changeset_old (int columnNumber) {
753762 final outValue = allocate <Pointer <sqlite3_value>>();
754763 final result = libsqlite3.sqlite3changeset_old (
755764 iterator,
@@ -759,7 +768,10 @@ final class FfiChangesetIterator implements RawChangesetIterator, Finalizable {
759768 final value = outValue.value;
760769 outValue.free ();
761770
762- return SqliteResult (result, value.isNullPointer ? null : FfiValue (value));
771+ return (
772+ resultCode: result,
773+ result: value.isNullPointer ? null : FfiValue (value),
774+ );
763775 }
764776
765777 @override
@@ -1050,7 +1062,7 @@ final class FfiStatementCompiler implements RawStatementCompiler {
10501062 int get endOffset => pzTail.value.address - sql.address;
10511063
10521064 @override
1053- SqliteResult <RawSqliteStatement ? > sqlite3_prepare (
1065+ SqliteResult <RawSqliteStatement > sqlite3_prepare (
10541066 int byteOffset,
10551067 int length,
10561068 int prepFlag,
@@ -1085,7 +1097,7 @@ final class FfiStatementCompiler implements RawStatementCompiler {
10851097 final stmt = stmtOut.value;
10861098 final libraryStatement = stmt.isNullPointer ? null : FfiStatement (stmt);
10871099
1088- return SqliteResult ( result, libraryStatement);
1100+ return (resultCode : result, result : libraryStatement);
10891101 }
10901102}
10911103
0 commit comments