Generate bindings rather than using prebuilts

In order to pass some of the configuration that Android.bp has, we need
to pass in a function. Now that bindgen-as-a-library support has landed
in the build system, use it for libsqlite3-sys to avoid needing to
regenerate bindings.

Bug: 161816141
Test: mma
Change-Id: I53d4108f5e6ab0d6e47e8d6d1b24a93b1c66a7fe
diff --git a/Android.bp b/Android.bp
index ed10b09..a1da725 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1,17 +1,17 @@
 // This file is generated by cargo2android.py --device --run --dependencies --test.
 
 // We renamed the shared_libs dependence from libsqlite3 to libsqlite.
+// srcs has been moved out of _defaults to work around b/163420435
 
 rust_library {
     name: "liblibsqlite3_sys",
     host_supported: true,
     crate_name: "libsqlite3_sys",
-    srcs: ["src/lib.rs"],
+    srcs: [
+        "src/lib.rs",
+        ":libsqlite3_bindgen",
+    ],
     edition: "2018",
-    // Note that the following features are default for this package,
-    // unrelated to the generation of bindings for external/sqlite.
-    // We might need to consider the non-default features for Android.
-    // If you add/change features, please check any impact to bindgen flags.
     features: [
         "default",
         "min_sqlite_version_3_6_8",
@@ -21,28 +21,11 @@
     shared_libs: [
         "libsqlite",
     ],
-    arch: {
-        // depend on external/sqlite/rust bindgen modules
-        // and include the output file from those modules
-        x86: {
-           srcs: [":sqlite3_bindgen_x86"],
-        },
-        x86_64: {
-           srcs: [":sqlite3_bindgen_x86_64"],
-        },
-        arm: {
-           srcs: [":sqlite3_bindgen_arm"],
-        },
-        arm64: {
-           srcs: [":sqlite3_bindgen_arm64"],
-        },
-    },
 }
 
 rust_defaults {
     name: "libsqlite3-sys_defaults",
     crate_name: "libsqlite3_sys",
-    srcs: ["src/lib.rs"],
     test_suites: ["general-tests"],
     auto_gen_config: true,
     edition: "2018",
@@ -55,146 +38,67 @@
     shared_libs: [
         "libsqlite",
     ],
-    arch: {
-        // depend on external/sqlite/rust bindgen modules
-        // and include the output file from those modules
-        x86: {
-           srcs: [":sqlite3_bindgen_x86"],
-        },
-        x86_64: {
-           srcs: [":sqlite3_bindgen_x86_64"],
-        },
-        arm: {
-           srcs: [":sqlite3_bindgen_arm"],
-        },
-        arm64: {
-           srcs: [":sqlite3_bindgen_arm64"],
-        },
-    },
 }
 
 rust_test_host {
     name: "libsqlite3-sys_host_test_src_lib",
+    srcs: [
+        "src/lib.rs",
+        ":libsqlite3_bindgen",
+    ],
     defaults: ["libsqlite3-sys_defaults"],
 }
 
 rust_test {
     name: "libsqlite3-sys_device_test_src_lib",
+    srcs: [
+        "src/lib.rs",
+        ":libsqlite3_bindgen",
+    ],
     defaults: ["libsqlite3-sys_defaults"],
 }
 
 // dependent_library ["feature_list"]
 //   pkg-config-0.3.18
 
-// Extra modules to generate bindings for external/sqlite.
-// Generated file is called bindgen.rs and saved into android/<arch>/bindings.rs.
-
-common_bindgen_flags = " -o $(out) $(in) -- -MD -MF $(depfile)"
-
-// Here is the place to add bindgen flags for sqlite3.
-// The following ignore options are copied from build.rs.
-sqlite3_bindgen_flags =
-      " --blacklist-function sqlite3_vmprintf"
-    + " --blacklist-function sqlite3_vsnprintf"
-    + " --blacklist-function sqlite3_str_vappendf"
-    + " --blacklist-type va_list"
-    + " --blacklist-type __builtin_va_list"
-    + " --blacklist-type __gnuc_va_list"
-    + " --blacklist-type __va_list_tag"
-    + " --blacklist-item __GNUC_VA_LIST"
-
-// The cflags defined in cc_defaults of external/sqlite/dist/Android.bp
-// should be passed to clang for bindgen.
-// The list of strings used in cflags cannot be easily
-// shared with the command string used in genrule yet,
-// since there is no string join function in .bp.
-sqlite3_bindgen_clang_flags = " -I external/sqlite/dist"
-    + " -DNDEBUG=1"
-    + " -DHAVE_USLEEP=1"
-    + " -DSQLITE_HAVE_ISNAN"
-    + " -DSQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=1048576"
-    + " -DSQLITE_THREADSAFE=2"
-    + " -DSQLITE_TEMP_STORE=3"
-    + " -DSQLITE_POWERSAFE_OVERWRITE=1"
-    + " -DSQLITE_DEFAULT_FILE_FORMAT=4"
-    + " -DSQLITE_DEFAULT_AUTOVACUUM=1"
-    + " -DSQLITE_ENABLE_MEMORY_MANAGEMENT=1"
-    + " -DSQLITE_ENABLE_FTS3"
-    + " -DSQLITE_ENABLE_FTS3_BACKWARDS"
-    + " -DSQLITE_ENABLE_FTS4"
-    + " -DSQLITE_OMIT_BUILTIN_TEST"
-    + " -DSQLITE_OMIT_COMPILEOPTION_DIAGS"
-    + " -DSQLITE_OMIT_LOAD_EXTENSION"
-    + " -DSQLITE_DEFAULT_FILE_PERMISSIONS=0600"
-    + " -DSQLITE_SECURE_DELETE"
-    + " -DSQLITE_ENABLE_BATCH_ATOMIC_WRITE"
-    + " -DBIONIC_IOCTL_NO_SIGNEDNESS_OVERLOAD"
-    + " -DHAVE_POSIX_FALLOCATE=1"
+// Keep this array in sync with the cflags used in external/sqlite
+// After b/163598610 is resolved, use defaults instead.
+sqlite3_bindgen_clang_flags = [
+    " -DNDEBUG=1",
+    " -DHAVE_USLEEP=1",
+    " -DSQLITE_HAVE_ISNAN",
+    " -DSQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=1048576",
+    " -DSQLITE_THREADSAFE=2",
+    " -DSQLITE_TEMP_STORE=3",
+    " -DSQLITE_POWERSAFE_OVERWRITE=1",
+    " -DSQLITE_DEFAULT_FILE_FORMAT=4",
+    " -DSQLITE_DEFAULT_AUTOVACUUM=1",
+    " -DSQLITE_ENABLE_MEMORY_MANAGEMENT=1",
+    " -DSQLITE_ENABLE_FTS3",
+    " -DSQLITE_ENABLE_FTS3_BACKWARDS",
+    " -DSQLITE_ENABLE_FTS4",
+    " -DSQLITE_OMIT_BUILTIN_TEST",
+    " -DSQLITE_OMIT_COMPILEOPTION_DIAGS",
+    " -DSQLITE_OMIT_LOAD_EXTENSION",
+    " -DSQLITE_DEFAULT_FILE_PERMISSIONS=0600",
+    " -DSQLITE_SECURE_DELETE",
+    " -DSQLITE_ENABLE_BATCH_ATOMIC_WRITE",
+    " -DBIONIC_IOCTL_NO_SIGNEDNESS_OVERLOAD",
+    " -DHAVE_POSIX_FALLOCATE=1",
     // extra -D flags for android targets
-    + " -DUSE_PREAD64"
-    + " -Dfdatasync=fdatasync"
-    + " -DHAVE_MALLOC_H=1"
-    + " -DHAVE_MALLOC_USABLE_SIZE"
-    + " -Wno-unused-parameter"
+    " -DUSE_PREAD64",
+    " -Dfdatasync=fdatasync",
+    " -DHAVE_MALLOC_H=1",
+    " -DHAVE_MALLOC_USABLE_SIZE",
+    " -Wno-unused-parameter",
+]
 
-genrule_defaults {
-    name: "sqlite3_bindgen_defaults",
-    tools: ["bindgen.sh", "bindgen"],
-    depfile: true,
-    srcs: ["android/bindgen.h"],
-    out: ["bindgen.rs"],
-}
-
-// This is a temporary hack to fix bindgen output files,
-// until a newer bindgen can do it with a flag.
-// The default int type for macros are changed
-// from u32 to i32 to work with other existing Rust.
-// Both u32 and i32 values should work with C libsqlite
-// as those macros have values in both i32 and u32 range.
-// See comments in later genrule modules about diff/patch
-// to detect and fix errors.
-bindgen_post_edit_cmd = " sed -i 's/: u32 /: i32 /' $(out) &&"
-
-genrule_default_cmd = "$(location bindgen.sh) $(location bindgen)"
-    + sqlite3_bindgen_flags
-    + common_bindgen_flags
-    + sqlite3_bindgen_clang_flags
-
-// In these genrule modules, diff -U3 is used to check if the
-// generated files are the same as the saved version.
-// This also catches any change made by bindgen_post_edit_cmd.
-// Any sed command failure or output difference will stop the genrule module.
-// To fix and resume the build, the diff -U3 output in stdout should
-// be saved and passed to the 'patch' command to fix the bindings.rs file.
-// The changes to bindgings.rs should be manually verified and tested.
-genrule {
-    name: "sqlite3_bindgen_x86",
-    defaults: ["sqlite3_bindgen_defaults"],
-    cmd: genrule_default_cmd + " --target=i386 &&"
-    + bindgen_post_edit_cmd
-    + " diff -U3 `dirname $(in)`/x86/bindings.rs $(out)",
-}
-
-genrule {
-    name: "sqlite3_bindgen_x86_64",
-    defaults: ["sqlite3_bindgen_defaults"],
-    cmd: genrule_default_cmd + " --target=x86_64 &&"
-    + bindgen_post_edit_cmd
-    + " diff -U3 `dirname $(in)`/x86_64/bindings.rs $(out)",
-}
-
-genrule {
-    name: "sqlite3_bindgen_arm",
-    defaults: ["sqlite3_bindgen_defaults"],
-    cmd: genrule_default_cmd + " --target=arm &&"
-    + bindgen_post_edit_cmd
-    + " diff -U3 `dirname $(in)`/arm/bindings.rs $(out)",
-}
-
-genrule {
-    name: "sqlite3_bindgen_arm64",
-    defaults: ["sqlite3_bindgen_defaults"],
-    cmd: genrule_default_cmd + " --target=arm64 &&"
-    + bindgen_post_edit_cmd
-    + " diff -U3 `dirname $(in)`/arm64/bindings.rs $(out)",
+rust_bindgen {
+    name: "libsqlite3_bindgen",
+    host_supported: true,
+    crate_name: "sqlite3_bindgen",
+    custom_bindgen: "sqlite3_bindgen_build",
+    wrapper_src: "wrapper.h",
+    source_stem: "bindgen",
+    cflags: ["-I external/sqlite/dist"] + sqlite3_bindgen_clang_flags,
 }
diff --git a/README.android b/README.android
index c0c61a5..e4d22c0 100644
--- a/README.android
+++ b/README.android
@@ -1,22 +1,8 @@
 This package is imported to Android and uses Android's external/sqlite
 header files and compilation flags to generate bindings.
 
-Whenever this package is updated, the following common procedure
-for external/rust/crates and special steps should be followed:
-* Make sure that the files under android are still preserved.
-* Check for changes in Cargo.toml and rerun cargo2android.py
-  to verify impacts to Android.bp. The manually added modules
-  should be preserved and checked against any new changes from
-  Cargo.toml. Note that new/changed features can also affect
-  build.rs and thus affect the flags passed to bindgen.
-* Similar to Cargo.toml, build.rs changes could add/change
-  bindgen flags. Watch out for changes related to buildtime_bindgen
-  and match them with sqlite3_bindgen_{clang_flags, flags} in
-  Android.bp.
-* Make sure the clang flags are still valid w.r.t. external/sqlite,
-  see sqlite3_bindgen_clang_flags in Android.bp.
-* Run at least the following tests locally:
-  * make with both aosp_x86_64-eng and aosp_arm64-eng
-  * atest -c --include-subdirs external/rust/crates/libsqlite3-sys
-* If the make fails in genrule modules, follow the comments in
-  Android.bp to update the bindgen_post_edit_cmd or bindings.rs.
+If features are changed for the libsqlite3-sys crate, please ensure those
+features are changed in the sqlite_bindgen_build module.
+
+If you update libsqlite3-sys, check its build.rs against the one at
+android/build.rs to ensure it is updated if needed.
diff --git a/android/Android.bp b/android/Android.bp
new file mode 100644
index 0000000..aa6b802
--- /dev/null
+++ b/android/Android.bp
@@ -0,0 +1,9 @@
+rust_binary_host {
+    name: "sqlite3_bindgen_build",
+    srcs: ["build.rs"],
+    rustlibs: [
+        "libbindgen",
+        "libbindgen_cmd",
+    ],
+    multilib: "first",
+}
diff --git a/android/arm/bindings.rs b/android/arm/bindings.rs
deleted file mode 100644
index 6484960..0000000
--- a/android/arm/bindings.rs
+++ /dev/null
@@ -1,5229 +0,0 @@
-/* automatically generated by rust-bindgen (unknown version) */
-
-pub const SQLITE_VERSION: &'static [u8; 7usize] = b"3.32.2\0";
-pub const SQLITE_VERSION_NUMBER: i32 = 3032002;
-pub const SQLITE_SOURCE_ID: &'static [u8; 85usize] =
-    b"2020-06-04 12:58:43 ec02243ea6ce33b090870ae55ab8aa2534b54d216d45c4aa2fdbb00e86861e8c\0";
-pub const SQLITE_OK: i32 = 0;
-pub const SQLITE_ERROR: i32 = 1;
-pub const SQLITE_INTERNAL: i32 = 2;
-pub const SQLITE_PERM: i32 = 3;
-pub const SQLITE_ABORT: i32 = 4;
-pub const SQLITE_BUSY: i32 = 5;
-pub const SQLITE_LOCKED: i32 = 6;
-pub const SQLITE_NOMEM: i32 = 7;
-pub const SQLITE_READONLY: i32 = 8;
-pub const SQLITE_INTERRUPT: i32 = 9;
-pub const SQLITE_IOERR: i32 = 10;
-pub const SQLITE_CORRUPT: i32 = 11;
-pub const SQLITE_NOTFOUND: i32 = 12;
-pub const SQLITE_FULL: i32 = 13;
-pub const SQLITE_CANTOPEN: i32 = 14;
-pub const SQLITE_PROTOCOL: i32 = 15;
-pub const SQLITE_EMPTY: i32 = 16;
-pub const SQLITE_SCHEMA: i32 = 17;
-pub const SQLITE_TOOBIG: i32 = 18;
-pub const SQLITE_CONSTRAINT: i32 = 19;
-pub const SQLITE_MISMATCH: i32 = 20;
-pub const SQLITE_MISUSE: i32 = 21;
-pub const SQLITE_NOLFS: i32 = 22;
-pub const SQLITE_AUTH: i32 = 23;
-pub const SQLITE_FORMAT: i32 = 24;
-pub const SQLITE_RANGE: i32 = 25;
-pub const SQLITE_NOTADB: i32 = 26;
-pub const SQLITE_NOTICE: i32 = 27;
-pub const SQLITE_WARNING: i32 = 28;
-pub const SQLITE_ROW: i32 = 100;
-pub const SQLITE_DONE: i32 = 101;
-pub const SQLITE_ERROR_MISSING_COLLSEQ: i32 = 257;
-pub const SQLITE_ERROR_RETRY: i32 = 513;
-pub const SQLITE_ERROR_SNAPSHOT: i32 = 769;
-pub const SQLITE_IOERR_READ: i32 = 266;
-pub const SQLITE_IOERR_SHORT_READ: i32 = 522;
-pub const SQLITE_IOERR_WRITE: i32 = 778;
-pub const SQLITE_IOERR_FSYNC: i32 = 1034;
-pub const SQLITE_IOERR_DIR_FSYNC: i32 = 1290;
-pub const SQLITE_IOERR_TRUNCATE: i32 = 1546;
-pub const SQLITE_IOERR_FSTAT: i32 = 1802;
-pub const SQLITE_IOERR_UNLOCK: i32 = 2058;
-pub const SQLITE_IOERR_RDLOCK: i32 = 2314;
-pub const SQLITE_IOERR_DELETE: i32 = 2570;
-pub const SQLITE_IOERR_BLOCKED: i32 = 2826;
-pub const SQLITE_IOERR_NOMEM: i32 = 3082;
-pub const SQLITE_IOERR_ACCESS: i32 = 3338;
-pub const SQLITE_IOERR_CHECKRESERVEDLOCK: i32 = 3594;
-pub const SQLITE_IOERR_LOCK: i32 = 3850;
-pub const SQLITE_IOERR_CLOSE: i32 = 4106;
-pub const SQLITE_IOERR_DIR_CLOSE: i32 = 4362;
-pub const SQLITE_IOERR_SHMOPEN: i32 = 4618;
-pub const SQLITE_IOERR_SHMSIZE: i32 = 4874;
-pub const SQLITE_IOERR_SHMLOCK: i32 = 5130;
-pub const SQLITE_IOERR_SHMMAP: i32 = 5386;
-pub const SQLITE_IOERR_SEEK: i32 = 5642;
-pub const SQLITE_IOERR_DELETE_NOENT: i32 = 5898;
-pub const SQLITE_IOERR_MMAP: i32 = 6154;
-pub const SQLITE_IOERR_GETTEMPPATH: i32 = 6410;
-pub const SQLITE_IOERR_CONVPATH: i32 = 6666;
-pub const SQLITE_IOERR_VNODE: i32 = 6922;
-pub const SQLITE_IOERR_AUTH: i32 = 7178;
-pub const SQLITE_IOERR_BEGIN_ATOMIC: i32 = 7434;
-pub const SQLITE_IOERR_COMMIT_ATOMIC: i32 = 7690;
-pub const SQLITE_IOERR_ROLLBACK_ATOMIC: i32 = 7946;
-pub const SQLITE_IOERR_DATA: i32 = 8202;
-pub const SQLITE_LOCKED_SHAREDCACHE: i32 = 262;
-pub const SQLITE_LOCKED_VTAB: i32 = 518;
-pub const SQLITE_BUSY_RECOVERY: i32 = 261;
-pub const SQLITE_BUSY_SNAPSHOT: i32 = 517;
-pub const SQLITE_BUSY_TIMEOUT: i32 = 773;
-pub const SQLITE_CANTOPEN_NOTEMPDIR: i32 = 270;
-pub const SQLITE_CANTOPEN_ISDIR: i32 = 526;
-pub const SQLITE_CANTOPEN_FULLPATH: i32 = 782;
-pub const SQLITE_CANTOPEN_CONVPATH: i32 = 1038;
-pub const SQLITE_CANTOPEN_DIRTYWAL: i32 = 1294;
-pub const SQLITE_CANTOPEN_SYMLINK: i32 = 1550;
-pub const SQLITE_CORRUPT_VTAB: i32 = 267;
-pub const SQLITE_CORRUPT_SEQUENCE: i32 = 523;
-pub const SQLITE_CORRUPT_INDEX: i32 = 779;
-pub const SQLITE_READONLY_RECOVERY: i32 = 264;
-pub const SQLITE_READONLY_CANTLOCK: i32 = 520;
-pub const SQLITE_READONLY_ROLLBACK: i32 = 776;
-pub const SQLITE_READONLY_DBMOVED: i32 = 1032;
-pub const SQLITE_READONLY_CANTINIT: i32 = 1288;
-pub const SQLITE_READONLY_DIRECTORY: i32 = 1544;
-pub const SQLITE_ABORT_ROLLBACK: i32 = 516;
-pub const SQLITE_CONSTRAINT_CHECK: i32 = 275;
-pub const SQLITE_CONSTRAINT_COMMITHOOK: i32 = 531;
-pub const SQLITE_CONSTRAINT_FOREIGNKEY: i32 = 787;
-pub const SQLITE_CONSTRAINT_FUNCTION: i32 = 1043;
-pub const SQLITE_CONSTRAINT_NOTNULL: i32 = 1299;
-pub const SQLITE_CONSTRAINT_PRIMARYKEY: i32 = 1555;
-pub const SQLITE_CONSTRAINT_TRIGGER: i32 = 1811;
-pub const SQLITE_CONSTRAINT_UNIQUE: i32 = 2067;
-pub const SQLITE_CONSTRAINT_VTAB: i32 = 2323;
-pub const SQLITE_CONSTRAINT_ROWID: i32 = 2579;
-pub const SQLITE_CONSTRAINT_PINNED: i32 = 2835;
-pub const SQLITE_NOTICE_RECOVER_WAL: i32 = 283;
-pub const SQLITE_NOTICE_RECOVER_ROLLBACK: i32 = 539;
-pub const SQLITE_WARNING_AUTOINDEX: i32 = 284;
-pub const SQLITE_AUTH_USER: i32 = 279;
-pub const SQLITE_OK_LOAD_PERMANENTLY: i32 = 256;
-pub const SQLITE_OK_SYMLINK: i32 = 512;
-pub const SQLITE_OPEN_READONLY: i32 = 1;
-pub const SQLITE_OPEN_READWRITE: i32 = 2;
-pub const SQLITE_OPEN_CREATE: i32 = 4;
-pub const SQLITE_OPEN_DELETEONCLOSE: i32 = 8;
-pub const SQLITE_OPEN_EXCLUSIVE: i32 = 16;
-pub const SQLITE_OPEN_AUTOPROXY: i32 = 32;
-pub const SQLITE_OPEN_URI: i32 = 64;
-pub const SQLITE_OPEN_MEMORY: i32 = 128;
-pub const SQLITE_OPEN_MAIN_DB: i32 = 256;
-pub const SQLITE_OPEN_TEMP_DB: i32 = 512;
-pub const SQLITE_OPEN_TRANSIENT_DB: i32 = 1024;
-pub const SQLITE_OPEN_MAIN_JOURNAL: i32 = 2048;
-pub const SQLITE_OPEN_TEMP_JOURNAL: i32 = 4096;
-pub const SQLITE_OPEN_SUBJOURNAL: i32 = 8192;
-pub const SQLITE_OPEN_MASTER_JOURNAL: i32 = 16384;
-pub const SQLITE_OPEN_NOMUTEX: i32 = 32768;
-pub const SQLITE_OPEN_FULLMUTEX: i32 = 65536;
-pub const SQLITE_OPEN_SHAREDCACHE: i32 = 131072;
-pub const SQLITE_OPEN_PRIVATECACHE: i32 = 262144;
-pub const SQLITE_OPEN_WAL: i32 = 524288;
-pub const SQLITE_OPEN_NOFOLLOW: i32 = 16777216;
-pub const SQLITE_IOCAP_ATOMIC: i32 = 1;
-pub const SQLITE_IOCAP_ATOMIC512: i32 = 2;
-pub const SQLITE_IOCAP_ATOMIC1K: i32 = 4;
-pub const SQLITE_IOCAP_ATOMIC2K: i32 = 8;
-pub const SQLITE_IOCAP_ATOMIC4K: i32 = 16;
-pub const SQLITE_IOCAP_ATOMIC8K: i32 = 32;
-pub const SQLITE_IOCAP_ATOMIC16K: i32 = 64;
-pub const SQLITE_IOCAP_ATOMIC32K: i32 = 128;
-pub const SQLITE_IOCAP_ATOMIC64K: i32 = 256;
-pub const SQLITE_IOCAP_SAFE_APPEND: i32 = 512;
-pub const SQLITE_IOCAP_SEQUENTIAL: i32 = 1024;
-pub const SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN: i32 = 2048;
-pub const SQLITE_IOCAP_POWERSAFE_OVERWRITE: i32 = 4096;
-pub const SQLITE_IOCAP_IMMUTABLE: i32 = 8192;
-pub const SQLITE_IOCAP_BATCH_ATOMIC: i32 = 16384;
-pub const SQLITE_LOCK_NONE: i32 = 0;
-pub const SQLITE_LOCK_SHARED: i32 = 1;
-pub const SQLITE_LOCK_RESERVED: i32 = 2;
-pub const SQLITE_LOCK_PENDING: i32 = 3;
-pub const SQLITE_LOCK_EXCLUSIVE: i32 = 4;
-pub const SQLITE_SYNC_NORMAL: i32 = 2;
-pub const SQLITE_SYNC_FULL: i32 = 3;
-pub const SQLITE_SYNC_DATAONLY: i32 = 16;
-pub const SQLITE_FCNTL_LOCKSTATE: i32 = 1;
-pub const SQLITE_FCNTL_GET_LOCKPROXYFILE: i32 = 2;
-pub const SQLITE_FCNTL_SET_LOCKPROXYFILE: i32 = 3;
-pub const SQLITE_FCNTL_LAST_ERRNO: i32 = 4;
-pub const SQLITE_FCNTL_SIZE_HINT: i32 = 5;
-pub const SQLITE_FCNTL_CHUNK_SIZE: i32 = 6;
-pub const SQLITE_FCNTL_FILE_POINTER: i32 = 7;
-pub const SQLITE_FCNTL_SYNC_OMITTED: i32 = 8;
-pub const SQLITE_FCNTL_WIN32_AV_RETRY: i32 = 9;
-pub const SQLITE_FCNTL_PERSIST_WAL: i32 = 10;
-pub const SQLITE_FCNTL_OVERWRITE: i32 = 11;
-pub const SQLITE_FCNTL_VFSNAME: i32 = 12;
-pub const SQLITE_FCNTL_POWERSAFE_OVERWRITE: i32 = 13;
-pub const SQLITE_FCNTL_PRAGMA: i32 = 14;
-pub const SQLITE_FCNTL_BUSYHANDLER: i32 = 15;
-pub const SQLITE_FCNTL_TEMPFILENAME: i32 = 16;
-pub const SQLITE_FCNTL_MMAP_SIZE: i32 = 18;
-pub const SQLITE_FCNTL_TRACE: i32 = 19;
-pub const SQLITE_FCNTL_HAS_MOVED: i32 = 20;
-pub const SQLITE_FCNTL_SYNC: i32 = 21;
-pub const SQLITE_FCNTL_COMMIT_PHASETWO: i32 = 22;
-pub const SQLITE_FCNTL_WIN32_SET_HANDLE: i32 = 23;
-pub const SQLITE_FCNTL_WAL_BLOCK: i32 = 24;
-pub const SQLITE_FCNTL_ZIPVFS: i32 = 25;
-pub const SQLITE_FCNTL_RBU: i32 = 26;
-pub const SQLITE_FCNTL_VFS_POINTER: i32 = 27;
-pub const SQLITE_FCNTL_JOURNAL_POINTER: i32 = 28;
-pub const SQLITE_FCNTL_WIN32_GET_HANDLE: i32 = 29;
-pub const SQLITE_FCNTL_PDB: i32 = 30;
-pub const SQLITE_FCNTL_BEGIN_ATOMIC_WRITE: i32 = 31;
-pub const SQLITE_FCNTL_COMMIT_ATOMIC_WRITE: i32 = 32;
-pub const SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE: i32 = 33;
-pub const SQLITE_FCNTL_LOCK_TIMEOUT: i32 = 34;
-pub const SQLITE_FCNTL_DATA_VERSION: i32 = 35;
-pub const SQLITE_FCNTL_SIZE_LIMIT: i32 = 36;
-pub const SQLITE_FCNTL_CKPT_DONE: i32 = 37;
-pub const SQLITE_FCNTL_RESERVE_BYTES: i32 = 38;
-pub const SQLITE_FCNTL_CKPT_START: i32 = 39;
-pub const SQLITE_GET_LOCKPROXYFILE: i32 = 2;
-pub const SQLITE_SET_LOCKPROXYFILE: i32 = 3;
-pub const SQLITE_LAST_ERRNO: i32 = 4;
-pub const SQLITE_ACCESS_EXISTS: i32 = 0;
-pub const SQLITE_ACCESS_READWRITE: i32 = 1;
-pub const SQLITE_ACCESS_READ: i32 = 2;
-pub const SQLITE_SHM_UNLOCK: i32 = 1;
-pub const SQLITE_SHM_LOCK: i32 = 2;
-pub const SQLITE_SHM_SHARED: i32 = 4;
-pub const SQLITE_SHM_EXCLUSIVE: i32 = 8;
-pub const SQLITE_SHM_NLOCK: i32 = 8;
-pub const SQLITE_CONFIG_SINGLETHREAD: i32 = 1;
-pub const SQLITE_CONFIG_MULTITHREAD: i32 = 2;
-pub const SQLITE_CONFIG_SERIALIZED: i32 = 3;
-pub const SQLITE_CONFIG_MALLOC: i32 = 4;
-pub const SQLITE_CONFIG_GETMALLOC: i32 = 5;
-pub const SQLITE_CONFIG_SCRATCH: i32 = 6;
-pub const SQLITE_CONFIG_PAGECACHE: i32 = 7;
-pub const SQLITE_CONFIG_HEAP: i32 = 8;
-pub const SQLITE_CONFIG_MEMSTATUS: i32 = 9;
-pub const SQLITE_CONFIG_MUTEX: i32 = 10;
-pub const SQLITE_CONFIG_GETMUTEX: i32 = 11;
-pub const SQLITE_CONFIG_LOOKASIDE: i32 = 13;
-pub const SQLITE_CONFIG_PCACHE: i32 = 14;
-pub const SQLITE_CONFIG_GETPCACHE: i32 = 15;
-pub const SQLITE_CONFIG_LOG: i32 = 16;
-pub const SQLITE_CONFIG_URI: i32 = 17;
-pub const SQLITE_CONFIG_PCACHE2: i32 = 18;
-pub const SQLITE_CONFIG_GETPCACHE2: i32 = 19;
-pub const SQLITE_CONFIG_COVERING_INDEX_SCAN: i32 = 20;
-pub const SQLITE_CONFIG_SQLLOG: i32 = 21;
-pub const SQLITE_CONFIG_MMAP_SIZE: i32 = 22;
-pub const SQLITE_CONFIG_WIN32_HEAPSIZE: i32 = 23;
-pub const SQLITE_CONFIG_PCACHE_HDRSZ: i32 = 24;
-pub const SQLITE_CONFIG_PMASZ: i32 = 25;
-pub const SQLITE_CONFIG_STMTJRNL_SPILL: i32 = 26;
-pub const SQLITE_CONFIG_SMALL_MALLOC: i32 = 27;
-pub const SQLITE_CONFIG_SORTERREF_SIZE: i32 = 28;
-pub const SQLITE_CONFIG_MEMDB_MAXSIZE: i32 = 29;
-pub const SQLITE_DBCONFIG_MAINDBNAME: i32 = 1000;
-pub const SQLITE_DBCONFIG_LOOKASIDE: i32 = 1001;
-pub const SQLITE_DBCONFIG_ENABLE_FKEY: i32 = 1002;
-pub const SQLITE_DBCONFIG_ENABLE_TRIGGER: i32 = 1003;
-pub const SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER: i32 = 1004;
-pub const SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION: i32 = 1005;
-pub const SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE: i32 = 1006;
-pub const SQLITE_DBCONFIG_ENABLE_QPSG: i32 = 1007;
-pub const SQLITE_DBCONFIG_TRIGGER_EQP: i32 = 1008;
-pub const SQLITE_DBCONFIG_RESET_DATABASE: i32 = 1009;
-pub const SQLITE_DBCONFIG_DEFENSIVE: i32 = 1010;
-pub const SQLITE_DBCONFIG_WRITABLE_SCHEMA: i32 = 1011;
-pub const SQLITE_DBCONFIG_LEGACY_ALTER_TABLE: i32 = 1012;
-pub const SQLITE_DBCONFIG_DQS_DML: i32 = 1013;
-pub const SQLITE_DBCONFIG_DQS_DDL: i32 = 1014;
-pub const SQLITE_DBCONFIG_ENABLE_VIEW: i32 = 1015;
-pub const SQLITE_DBCONFIG_LEGACY_FILE_FORMAT: i32 = 1016;
-pub const SQLITE_DBCONFIG_TRUSTED_SCHEMA: i32 = 1017;
-pub const SQLITE_DBCONFIG_MAX: i32 = 1017;
-pub const SQLITE_DENY: i32 = 1;
-pub const SQLITE_IGNORE: i32 = 2;
-pub const SQLITE_CREATE_INDEX: i32 = 1;
-pub const SQLITE_CREATE_TABLE: i32 = 2;
-pub const SQLITE_CREATE_TEMP_INDEX: i32 = 3;
-pub const SQLITE_CREATE_TEMP_TABLE: i32 = 4;
-pub const SQLITE_CREATE_TEMP_TRIGGER: i32 = 5;
-pub const SQLITE_CREATE_TEMP_VIEW: i32 = 6;
-pub const SQLITE_CREATE_TRIGGER: i32 = 7;
-pub const SQLITE_CREATE_VIEW: i32 = 8;
-pub const SQLITE_DELETE: i32 = 9;
-pub const SQLITE_DROP_INDEX: i32 = 10;
-pub const SQLITE_DROP_TABLE: i32 = 11;
-pub const SQLITE_DROP_TEMP_INDEX: i32 = 12;
-pub const SQLITE_DROP_TEMP_TABLE: i32 = 13;
-pub const SQLITE_DROP_TEMP_TRIGGER: i32 = 14;
-pub const SQLITE_DROP_TEMP_VIEW: i32 = 15;
-pub const SQLITE_DROP_TRIGGER: i32 = 16;
-pub const SQLITE_DROP_VIEW: i32 = 17;
-pub const SQLITE_INSERT: i32 = 18;
-pub const SQLITE_PRAGMA: i32 = 19;
-pub const SQLITE_READ: i32 = 20;
-pub const SQLITE_SELECT: i32 = 21;
-pub const SQLITE_TRANSACTION: i32 = 22;
-pub const SQLITE_UPDATE: i32 = 23;
-pub const SQLITE_ATTACH: i32 = 24;
-pub const SQLITE_DETACH: i32 = 25;
-pub const SQLITE_ALTER_TABLE: i32 = 26;
-pub const SQLITE_REINDEX: i32 = 27;
-pub const SQLITE_ANALYZE: i32 = 28;
-pub const SQLITE_CREATE_VTABLE: i32 = 29;
-pub const SQLITE_DROP_VTABLE: i32 = 30;
-pub const SQLITE_FUNCTION: i32 = 31;
-pub const SQLITE_SAVEPOINT: i32 = 32;
-pub const SQLITE_COPY: i32 = 0;
-pub const SQLITE_RECURSIVE: i32 = 33;
-pub const SQLITE_TRACE_STMT: i32 = 1;
-pub const SQLITE_TRACE_PROFILE: i32 = 2;
-pub const SQLITE_TRACE_ROW: i32 = 4;
-pub const SQLITE_TRACE_CLOSE: i32 = 8;
-pub const SQLITE_LIMIT_LENGTH: i32 = 0;
-pub const SQLITE_LIMIT_SQL_LENGTH: i32 = 1;
-pub const SQLITE_LIMIT_COLUMN: i32 = 2;
-pub const SQLITE_LIMIT_EXPR_DEPTH: i32 = 3;
-pub const SQLITE_LIMIT_COMPOUND_SELECT: i32 = 4;
-pub const SQLITE_LIMIT_VDBE_OP: i32 = 5;
-pub const SQLITE_LIMIT_FUNCTION_ARG: i32 = 6;
-pub const SQLITE_LIMIT_ATTACHED: i32 = 7;
-pub const SQLITE_LIMIT_LIKE_PATTERN_LENGTH: i32 = 8;
-pub const SQLITE_LIMIT_VARIABLE_NUMBER: i32 = 9;
-pub const SQLITE_LIMIT_TRIGGER_DEPTH: i32 = 10;
-pub const SQLITE_LIMIT_WORKER_THREADS: i32 = 11;
-pub const SQLITE_PREPARE_PERSISTENT: i32 = 1;
-pub const SQLITE_PREPARE_NORMALIZE: i32 = 2;
-pub const SQLITE_PREPARE_NO_VTAB: i32 = 4;
-pub const SQLITE_INTEGER: i32 = 1;
-pub const SQLITE_FLOAT: i32 = 2;
-pub const SQLITE_BLOB: i32 = 4;
-pub const SQLITE_NULL: i32 = 5;
-pub const SQLITE_TEXT: i32 = 3;
-pub const SQLITE3_TEXT: i32 = 3;
-pub const SQLITE_UTF8: i32 = 1;
-pub const SQLITE_UTF16LE: i32 = 2;
-pub const SQLITE_UTF16BE: i32 = 3;
-pub const SQLITE_UTF16: i32 = 4;
-pub const SQLITE_ANY: i32 = 5;
-pub const SQLITE_UTF16_ALIGNED: i32 = 8;
-pub const SQLITE_DETERMINISTIC: i32 = 2048;
-pub const SQLITE_DIRECTONLY: i32 = 524288;
-pub const SQLITE_SUBTYPE: i32 = 1048576;
-pub const SQLITE_INNOCUOUS: i32 = 2097152;
-pub const SQLITE_WIN32_DATA_DIRECTORY_TYPE: i32 = 1;
-pub const SQLITE_WIN32_TEMP_DIRECTORY_TYPE: i32 = 2;
-pub const SQLITE_INDEX_SCAN_UNIQUE: i32 = 1;
-pub const SQLITE_INDEX_CONSTRAINT_EQ: i32 = 2;
-pub const SQLITE_INDEX_CONSTRAINT_GT: i32 = 4;
-pub const SQLITE_INDEX_CONSTRAINT_LE: i32 = 8;
-pub const SQLITE_INDEX_CONSTRAINT_LT: i32 = 16;
-pub const SQLITE_INDEX_CONSTRAINT_GE: i32 = 32;
-pub const SQLITE_INDEX_CONSTRAINT_MATCH: i32 = 64;
-pub const SQLITE_INDEX_CONSTRAINT_LIKE: i32 = 65;
-pub const SQLITE_INDEX_CONSTRAINT_GLOB: i32 = 66;
-pub const SQLITE_INDEX_CONSTRAINT_REGEXP: i32 = 67;
-pub const SQLITE_INDEX_CONSTRAINT_NE: i32 = 68;
-pub const SQLITE_INDEX_CONSTRAINT_ISNOT: i32 = 69;
-pub const SQLITE_INDEX_CONSTRAINT_ISNOTNULL: i32 = 70;
-pub const SQLITE_INDEX_CONSTRAINT_ISNULL: i32 = 71;
-pub const SQLITE_INDEX_CONSTRAINT_IS: i32 = 72;
-pub const SQLITE_INDEX_CONSTRAINT_FUNCTION: i32 = 150;
-pub const SQLITE_MUTEX_FAST: i32 = 0;
-pub const SQLITE_MUTEX_RECURSIVE: i32 = 1;
-pub const SQLITE_MUTEX_STATIC_MASTER: i32 = 2;
-pub const SQLITE_MUTEX_STATIC_MEM: i32 = 3;
-pub const SQLITE_MUTEX_STATIC_MEM2: i32 = 4;
-pub const SQLITE_MUTEX_STATIC_OPEN: i32 = 4;
-pub const SQLITE_MUTEX_STATIC_PRNG: i32 = 5;
-pub const SQLITE_MUTEX_STATIC_LRU: i32 = 6;
-pub const SQLITE_MUTEX_STATIC_LRU2: i32 = 7;
-pub const SQLITE_MUTEX_STATIC_PMEM: i32 = 7;
-pub const SQLITE_MUTEX_STATIC_APP1: i32 = 8;
-pub const SQLITE_MUTEX_STATIC_APP2: i32 = 9;
-pub const SQLITE_MUTEX_STATIC_APP3: i32 = 10;
-pub const SQLITE_MUTEX_STATIC_VFS1: i32 = 11;
-pub const SQLITE_MUTEX_STATIC_VFS2: i32 = 12;
-pub const SQLITE_MUTEX_STATIC_VFS3: i32 = 13;
-pub const SQLITE_TESTCTRL_FIRST: i32 = 5;
-pub const SQLITE_TESTCTRL_PRNG_SAVE: i32 = 5;
-pub const SQLITE_TESTCTRL_PRNG_RESTORE: i32 = 6;
-pub const SQLITE_TESTCTRL_PRNG_RESET: i32 = 7;
-pub const SQLITE_TESTCTRL_BITVEC_TEST: i32 = 8;
-pub const SQLITE_TESTCTRL_FAULT_INSTALL: i32 = 9;
-pub const SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS: i32 = 10;
-pub const SQLITE_TESTCTRL_PENDING_BYTE: i32 = 11;
-pub const SQLITE_TESTCTRL_ASSERT: i32 = 12;
-pub const SQLITE_TESTCTRL_ALWAYS: i32 = 13;
-pub const SQLITE_TESTCTRL_RESERVE: i32 = 14;
-pub const SQLITE_TESTCTRL_OPTIMIZATIONS: i32 = 15;
-pub const SQLITE_TESTCTRL_ISKEYWORD: i32 = 16;
-pub const SQLITE_TESTCTRL_SCRATCHMALLOC: i32 = 17;
-pub const SQLITE_TESTCTRL_INTERNAL_FUNCTIONS: i32 = 17;
-pub const SQLITE_TESTCTRL_LOCALTIME_FAULT: i32 = 18;
-pub const SQLITE_TESTCTRL_EXPLAIN_STMT: i32 = 19;
-pub const SQLITE_TESTCTRL_ONCE_RESET_THRESHOLD: i32 = 19;
-pub const SQLITE_TESTCTRL_NEVER_CORRUPT: i32 = 20;
-pub const SQLITE_TESTCTRL_VDBE_COVERAGE: i32 = 21;
-pub const SQLITE_TESTCTRL_BYTEORDER: i32 = 22;
-pub const SQLITE_TESTCTRL_ISINIT: i32 = 23;
-pub const SQLITE_TESTCTRL_SORTER_MMAP: i32 = 24;
-pub const SQLITE_TESTCTRL_IMPOSTER: i32 = 25;
-pub const SQLITE_TESTCTRL_PARSER_COVERAGE: i32 = 26;
-pub const SQLITE_TESTCTRL_RESULT_INTREAL: i32 = 27;
-pub const SQLITE_TESTCTRL_PRNG_SEED: i32 = 28;
-pub const SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS: i32 = 29;
-pub const SQLITE_TESTCTRL_LAST: i32 = 29;
-pub const SQLITE_STATUS_MEMORY_USED: i32 = 0;
-pub const SQLITE_STATUS_PAGECACHE_USED: i32 = 1;
-pub const SQLITE_STATUS_PAGECACHE_OVERFLOW: i32 = 2;
-pub const SQLITE_STATUS_SCRATCH_USED: i32 = 3;
-pub const SQLITE_STATUS_SCRATCH_OVERFLOW: i32 = 4;
-pub const SQLITE_STATUS_MALLOC_SIZE: i32 = 5;
-pub const SQLITE_STATUS_PARSER_STACK: i32 = 6;
-pub const SQLITE_STATUS_PAGECACHE_SIZE: i32 = 7;
-pub const SQLITE_STATUS_SCRATCH_SIZE: i32 = 8;
-pub const SQLITE_STATUS_MALLOC_COUNT: i32 = 9;
-pub const SQLITE_DBSTATUS_LOOKASIDE_USED: i32 = 0;
-pub const SQLITE_DBSTATUS_CACHE_USED: i32 = 1;
-pub const SQLITE_DBSTATUS_SCHEMA_USED: i32 = 2;
-pub const SQLITE_DBSTATUS_STMT_USED: i32 = 3;
-pub const SQLITE_DBSTATUS_LOOKASIDE_HIT: i32 = 4;
-pub const SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE: i32 = 5;
-pub const SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL: i32 = 6;
-pub const SQLITE_DBSTATUS_CACHE_HIT: i32 = 7;
-pub const SQLITE_DBSTATUS_CACHE_MISS: i32 = 8;
-pub const SQLITE_DBSTATUS_CACHE_WRITE: i32 = 9;
-pub const SQLITE_DBSTATUS_DEFERRED_FKS: i32 = 10;
-pub const SQLITE_DBSTATUS_CACHE_USED_SHARED: i32 = 11;
-pub const SQLITE_DBSTATUS_CACHE_SPILL: i32 = 12;
-pub const SQLITE_DBSTATUS_MAX: i32 = 12;
-pub const SQLITE_STMTSTATUS_FULLSCAN_STEP: i32 = 1;
-pub const SQLITE_STMTSTATUS_SORT: i32 = 2;
-pub const SQLITE_STMTSTATUS_AUTOINDEX: i32 = 3;
-pub const SQLITE_STMTSTATUS_VM_STEP: i32 = 4;
-pub const SQLITE_STMTSTATUS_REPREPARE: i32 = 5;
-pub const SQLITE_STMTSTATUS_RUN: i32 = 6;
-pub const SQLITE_STMTSTATUS_MEMUSED: i32 = 99;
-pub const SQLITE_CHECKPOINT_PASSIVE: i32 = 0;
-pub const SQLITE_CHECKPOINT_FULL: i32 = 1;
-pub const SQLITE_CHECKPOINT_RESTART: i32 = 2;
-pub const SQLITE_CHECKPOINT_TRUNCATE: i32 = 3;
-pub const SQLITE_VTAB_CONSTRAINT_SUPPORT: i32 = 1;
-pub const SQLITE_VTAB_INNOCUOUS: i32 = 2;
-pub const SQLITE_VTAB_DIRECTONLY: i32 = 3;
-pub const SQLITE_ROLLBACK: i32 = 1;
-pub const SQLITE_FAIL: i32 = 3;
-pub const SQLITE_REPLACE: i32 = 5;
-pub const SQLITE_SCANSTAT_NLOOP: i32 = 0;
-pub const SQLITE_SCANSTAT_NVISIT: i32 = 1;
-pub const SQLITE_SCANSTAT_EST: i32 = 2;
-pub const SQLITE_SCANSTAT_NAME: i32 = 3;
-pub const SQLITE_SCANSTAT_EXPLAIN: i32 = 4;
-pub const SQLITE_SCANSTAT_SELECTID: i32 = 5;
-pub const SQLITE_SERIALIZE_NOCOPY: i32 = 1;
-pub const SQLITE_DESERIALIZE_FREEONCLOSE: i32 = 1;
-pub const SQLITE_DESERIALIZE_RESIZEABLE: i32 = 2;
-pub const SQLITE_DESERIALIZE_READONLY: i32 = 4;
-pub const NOT_WITHIN: i32 = 0;
-pub const PARTLY_WITHIN: i32 = 1;
-pub const FULLY_WITHIN: i32 = 2;
-pub const FTS5_TOKENIZE_QUERY: i32 = 1;
-pub const FTS5_TOKENIZE_PREFIX: i32 = 2;
-pub const FTS5_TOKENIZE_DOCUMENT: i32 = 4;
-pub const FTS5_TOKENIZE_AUX: i32 = 8;
-pub const FTS5_TOKEN_COLOCATED: i32 = 1;
-extern "C" {
-    pub static mut sqlite3_version: [::std::os::raw::c_char; 0usize];
-}
-extern "C" {
-    pub fn sqlite3_libversion() -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_sourceid() -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_libversion_number() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_threadsafe() -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3 {
-    _unused: [u8; 0],
-}
-pub type sqlite_int64 = ::std::os::raw::c_longlong;
-pub type sqlite_uint64 = ::std::os::raw::c_ulonglong;
-pub type sqlite3_int64 = sqlite_int64;
-pub type sqlite3_uint64 = sqlite_uint64;
-extern "C" {
-    pub fn sqlite3_close(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_close_v2(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-pub type sqlite3_callback = ::std::option::Option<
-    unsafe extern "C" fn(
-        arg1: *mut ::std::os::raw::c_void,
-        arg2: ::std::os::raw::c_int,
-        arg3: *mut *mut ::std::os::raw::c_char,
-        arg4: *mut *mut ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int,
->;
-extern "C" {
-    pub fn sqlite3_exec(
-        arg1: *mut sqlite3,
-        sql: *const ::std::os::raw::c_char,
-        callback: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut ::std::os::raw::c_char,
-                arg4: *mut *mut ::std::os::raw::c_char,
-            ) -> ::std::os::raw::c_int,
-        >,
-        arg2: *mut ::std::os::raw::c_void,
-        errmsg: *mut *mut ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_file {
-    pub pMethods: *const sqlite3_io_methods,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_file() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_file>(),
-        4usize,
-        concat!("Size of: ", stringify!(sqlite3_file))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_file>(),
-        4usize,
-        concat!("Alignment of ", stringify!(sqlite3_file))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_file>())).pMethods as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_file),
-            "::",
-            stringify!(pMethods)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_io_methods {
-    pub iVersion: ::std::os::raw::c_int,
-    pub xClose: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_file) -> ::std::os::raw::c_int,
-    >,
-    pub xRead: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            arg2: *mut ::std::os::raw::c_void,
-            iAmt: ::std::os::raw::c_int,
-            iOfst: sqlite3_int64,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xWrite: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            arg2: *const ::std::os::raw::c_void,
-            iAmt: ::std::os::raw::c_int,
-            iOfst: sqlite3_int64,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xTruncate: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_file, size: sqlite3_int64) -> ::std::os::raw::c_int,
-    >,
-    pub xSync: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            flags: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xFileSize: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            pSize: *mut sqlite3_int64,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xLock: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            arg2: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xUnlock: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            arg2: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xCheckReservedLock: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            pResOut: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xFileControl: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            op: ::std::os::raw::c_int,
-            pArg: *mut ::std::os::raw::c_void,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xSectorSize: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_file) -> ::std::os::raw::c_int,
-    >,
-    pub xDeviceCharacteristics: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_file) -> ::std::os::raw::c_int,
-    >,
-    pub xShmMap: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            iPg: ::std::os::raw::c_int,
-            pgsz: ::std::os::raw::c_int,
-            arg2: ::std::os::raw::c_int,
-            arg3: *mut *mut ::std::os::raw::c_void,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xShmLock: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            offset: ::std::os::raw::c_int,
-            n: ::std::os::raw::c_int,
-            flags: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xShmBarrier: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_file)>,
-    pub xShmUnmap: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            deleteFlag: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xFetch: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            iOfst: sqlite3_int64,
-            iAmt: ::std::os::raw::c_int,
-            pp: *mut *mut ::std::os::raw::c_void,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xUnfetch: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            iOfst: sqlite3_int64,
-            p: *mut ::std::os::raw::c_void,
-        ) -> ::std::os::raw::c_int,
-    >,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_io_methods() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_io_methods>(),
-        76usize,
-        concat!("Size of: ", stringify!(sqlite3_io_methods))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_io_methods>(),
-        4usize,
-        concat!("Alignment of ", stringify!(sqlite3_io_methods))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).iVersion as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(iVersion)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xClose as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xClose)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xRead as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xRead)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xWrite as *const _ as usize },
-        12usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xWrite)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xTruncate as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xTruncate)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xSync as *const _ as usize },
-        20usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xSync)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xFileSize as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xFileSize)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xLock as *const _ as usize },
-        28usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xLock)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xUnlock as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xUnlock)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_io_methods>())).xCheckReservedLock as *const _ as usize
-        },
-        36usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xCheckReservedLock)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xFileControl as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xFileControl)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xSectorSize as *const _ as usize },
-        44usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xSectorSize)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_io_methods>())).xDeviceCharacteristics as *const _
-                as usize
-        },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xDeviceCharacteristics)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xShmMap as *const _ as usize },
-        52usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xShmMap)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xShmLock as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xShmLock)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xShmBarrier as *const _ as usize },
-        60usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xShmBarrier)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xShmUnmap as *const _ as usize },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xShmUnmap)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xFetch as *const _ as usize },
-        68usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xFetch)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xUnfetch as *const _ as usize },
-        72usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xUnfetch)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_mutex {
-    _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_api_routines {
-    _unused: [u8; 0],
-}
-pub type sqlite3_syscall_ptr = ::std::option::Option<unsafe extern "C" fn()>;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_vfs {
-    pub iVersion: ::std::os::raw::c_int,
-    pub szOsFile: ::std::os::raw::c_int,
-    pub mxPathname: ::std::os::raw::c_int,
-    pub pNext: *mut sqlite3_vfs,
-    pub zName: *const ::std::os::raw::c_char,
-    pub pAppData: *mut ::std::os::raw::c_void,
-    pub xOpen: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            zName: *const ::std::os::raw::c_char,
-            arg2: *mut sqlite3_file,
-            flags: ::std::os::raw::c_int,
-            pOutFlags: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xDelete: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            zName: *const ::std::os::raw::c_char,
-            syncDir: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xAccess: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            zName: *const ::std::os::raw::c_char,
-            flags: ::std::os::raw::c_int,
-            pResOut: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xFullPathname: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            zName: *const ::std::os::raw::c_char,
-            nOut: ::std::os::raw::c_int,
-            zOut: *mut ::std::os::raw::c_char,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xDlOpen: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            zFilename: *const ::std::os::raw::c_char,
-        ) -> *mut ::std::os::raw::c_void,
-    >,
-    pub xDlError: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            nByte: ::std::os::raw::c_int,
-            zErrMsg: *mut ::std::os::raw::c_char,
-        ),
-    >,
-    pub xDlSym: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            arg2: *mut ::std::os::raw::c_void,
-            zSymbol: *const ::std::os::raw::c_char,
-        ) -> ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_vfs,
-                arg2: *mut ::std::os::raw::c_void,
-                zSymbol: *const ::std::os::raw::c_char,
-            ),
-        >,
-    >,
-    pub xDlClose: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_vfs, arg2: *mut ::std::os::raw::c_void),
-    >,
-    pub xRandomness: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            nByte: ::std::os::raw::c_int,
-            zOut: *mut ::std::os::raw::c_char,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xSleep: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            microseconds: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xCurrentTime: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_vfs, arg2: *mut f64) -> ::std::os::raw::c_int,
-    >,
-    pub xGetLastError: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            arg2: ::std::os::raw::c_int,
-            arg3: *mut ::std::os::raw::c_char,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xCurrentTimeInt64: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            arg2: *mut sqlite3_int64,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xSetSystemCall: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            zName: *const ::std::os::raw::c_char,
-            arg2: sqlite3_syscall_ptr,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xGetSystemCall: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            zName: *const ::std::os::raw::c_char,
-        ) -> sqlite3_syscall_ptr,
-    >,
-    pub xNextSystemCall: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            zName: *const ::std::os::raw::c_char,
-        ) -> *const ::std::os::raw::c_char,
-    >,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_vfs() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_vfs>(),
-        88usize,
-        concat!("Size of: ", stringify!(sqlite3_vfs))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_vfs>(),
-        4usize,
-        concat!("Alignment of ", stringify!(sqlite3_vfs))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).iVersion as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(iVersion)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).szOsFile as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(szOsFile)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).mxPathname as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(mxPathname)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).pNext as *const _ as usize },
-        12usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(pNext)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).zName as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(zName)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).pAppData as *const _ as usize },
-        20usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(pAppData)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xOpen as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xOpen)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xDelete as *const _ as usize },
-        28usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xDelete)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xAccess as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xAccess)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xFullPathname as *const _ as usize },
-        36usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xFullPathname)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xDlOpen as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xDlOpen)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xDlError as *const _ as usize },
-        44usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xDlError)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xDlSym as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xDlSym)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xDlClose as *const _ as usize },
-        52usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xDlClose)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xRandomness as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xRandomness)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xSleep as *const _ as usize },
-        60usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xSleep)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xCurrentTime as *const _ as usize },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xCurrentTime)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xGetLastError as *const _ as usize },
-        68usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xGetLastError)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xCurrentTimeInt64 as *const _ as usize },
-        72usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xCurrentTimeInt64)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xSetSystemCall as *const _ as usize },
-        76usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xSetSystemCall)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xGetSystemCall as *const _ as usize },
-        80usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xGetSystemCall)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xNextSystemCall as *const _ as usize },
-        84usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xNextSystemCall)
-        )
-    );
-}
-extern "C" {
-    pub fn sqlite3_initialize() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_shutdown() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_os_init() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_os_end() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_config(arg1: ::std::os::raw::c_int, ...) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_db_config(
-        arg1: *mut sqlite3,
-        op: ::std::os::raw::c_int,
-        ...
-    ) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_mem_methods {
-    pub xMalloc: ::std::option::Option<
-        unsafe extern "C" fn(arg1: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_void,
-    >,
-    pub xFree: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    pub xRealloc: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut ::std::os::raw::c_void,
-            arg2: ::std::os::raw::c_int,
-        ) -> *mut ::std::os::raw::c_void,
-    >,
-    pub xSize: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
-    >,
-    pub xRoundup: ::std::option::Option<
-        unsafe extern "C" fn(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
-    >,
-    pub xInit: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
-    >,
-    pub xShutdown: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    pub pAppData: *mut ::std::os::raw::c_void,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_mem_methods() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_mem_methods>(),
-        32usize,
-        concat!("Size of: ", stringify!(sqlite3_mem_methods))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_mem_methods>(),
-        4usize,
-        concat!("Alignment of ", stringify!(sqlite3_mem_methods))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mem_methods>())).xMalloc as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mem_methods),
-            "::",
-            stringify!(xMalloc)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mem_methods>())).xFree as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mem_methods),
-            "::",
-            stringify!(xFree)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mem_methods>())).xRealloc as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mem_methods),
-            "::",
-            stringify!(xRealloc)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mem_methods>())).xSize as *const _ as usize },
-        12usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mem_methods),
-            "::",
-            stringify!(xSize)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mem_methods>())).xRoundup as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mem_methods),
-            "::",
-            stringify!(xRoundup)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mem_methods>())).xInit as *const _ as usize },
-        20usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mem_methods),
-            "::",
-            stringify!(xInit)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mem_methods>())).xShutdown as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mem_methods),
-            "::",
-            stringify!(xShutdown)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mem_methods>())).pAppData as *const _ as usize },
-        28usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mem_methods),
-            "::",
-            stringify!(pAppData)
-        )
-    );
-}
-extern "C" {
-    pub fn sqlite3_extended_result_codes(
-        arg1: *mut sqlite3,
-        onoff: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_last_insert_rowid(arg1: *mut sqlite3) -> sqlite3_int64;
-}
-extern "C" {
-    pub fn sqlite3_set_last_insert_rowid(arg1: *mut sqlite3, arg2: sqlite3_int64);
-}
-extern "C" {
-    pub fn sqlite3_changes(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_total_changes(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_interrupt(arg1: *mut sqlite3);
-}
-extern "C" {
-    pub fn sqlite3_complete(sql: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_complete16(sql: *const ::std::os::raw::c_void) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_busy_handler(
-        arg1: *mut sqlite3,
-        arg2: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: ::std::os::raw::c_int,
-            ) -> ::std::os::raw::c_int,
-        >,
-        arg3: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_busy_timeout(
-        arg1: *mut sqlite3,
-        ms: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_get_table(
-        db: *mut sqlite3,
-        zSql: *const ::std::os::raw::c_char,
-        pazResult: *mut *mut *mut ::std::os::raw::c_char,
-        pnRow: *mut ::std::os::raw::c_int,
-        pnColumn: *mut ::std::os::raw::c_int,
-        pzErrmsg: *mut *mut ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_free_table(result: *mut *mut ::std::os::raw::c_char);
-}
-extern "C" {
-    pub fn sqlite3_mprintf(arg1: *const ::std::os::raw::c_char, ...)
-        -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_snprintf(
-        arg1: ::std::os::raw::c_int,
-        arg2: *mut ::std::os::raw::c_char,
-        arg3: *const ::std::os::raw::c_char,
-        ...
-    ) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_malloc(arg1: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_malloc64(arg1: sqlite3_uint64) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_realloc(
-        arg1: *mut ::std::os::raw::c_void,
-        arg2: ::std::os::raw::c_int,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_realloc64(
-        arg1: *mut ::std::os::raw::c_void,
-        arg2: sqlite3_uint64,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_free(arg1: *mut ::std::os::raw::c_void);
-}
-extern "C" {
-    pub fn sqlite3_msize(arg1: *mut ::std::os::raw::c_void) -> sqlite3_uint64;
-}
-extern "C" {
-    pub fn sqlite3_memory_used() -> sqlite3_int64;
-}
-extern "C" {
-    pub fn sqlite3_memory_highwater(resetFlag: ::std::os::raw::c_int) -> sqlite3_int64;
-}
-extern "C" {
-    pub fn sqlite3_randomness(N: ::std::os::raw::c_int, P: *mut ::std::os::raw::c_void);
-}
-extern "C" {
-    pub fn sqlite3_set_authorizer(
-        arg1: *mut sqlite3,
-        xAuth: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: ::std::os::raw::c_int,
-                arg3: *const ::std::os::raw::c_char,
-                arg4: *const ::std::os::raw::c_char,
-                arg5: *const ::std::os::raw::c_char,
-                arg6: *const ::std::os::raw::c_char,
-            ) -> ::std::os::raw::c_int,
-        >,
-        pUserData: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_trace(
-        arg1: *mut sqlite3,
-        xTrace: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: *const ::std::os::raw::c_char,
-            ),
-        >,
-        arg2: *mut ::std::os::raw::c_void,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_profile(
-        arg1: *mut sqlite3,
-        xProfile: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: *const ::std::os::raw::c_char,
-                arg3: sqlite3_uint64,
-            ),
-        >,
-        arg2: *mut ::std::os::raw::c_void,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_trace_v2(
-        arg1: *mut sqlite3,
-        uMask: ::std::os::raw::c_uint,
-        xCallback: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: ::std::os::raw::c_uint,
-                arg2: *mut ::std::os::raw::c_void,
-                arg3: *mut ::std::os::raw::c_void,
-                arg4: *mut ::std::os::raw::c_void,
-            ) -> ::std::os::raw::c_int,
-        >,
-        pCtx: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_progress_handler(
-        arg1: *mut sqlite3,
-        arg2: ::std::os::raw::c_int,
-        arg3: ::std::option::Option<
-            unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
-        >,
-        arg4: *mut ::std::os::raw::c_void,
-    );
-}
-extern "C" {
-    pub fn sqlite3_open(
-        filename: *const ::std::os::raw::c_char,
-        ppDb: *mut *mut sqlite3,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_open16(
-        filename: *const ::std::os::raw::c_void,
-        ppDb: *mut *mut sqlite3,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_open_v2(
-        filename: *const ::std::os::raw::c_char,
-        ppDb: *mut *mut sqlite3,
-        flags: ::std::os::raw::c_int,
-        zVfs: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_uri_parameter(
-        zFilename: *const ::std::os::raw::c_char,
-        zParam: *const ::std::os::raw::c_char,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_uri_boolean(
-        zFile: *const ::std::os::raw::c_char,
-        zParam: *const ::std::os::raw::c_char,
-        bDefault: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_uri_int64(
-        arg1: *const ::std::os::raw::c_char,
-        arg2: *const ::std::os::raw::c_char,
-        arg3: sqlite3_int64,
-    ) -> sqlite3_int64;
-}
-extern "C" {
-    pub fn sqlite3_uri_key(
-        zFilename: *const ::std::os::raw::c_char,
-        N: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_filename_database(
-        arg1: *const ::std::os::raw::c_char,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_filename_journal(
-        arg1: *const ::std::os::raw::c_char,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_filename_wal(
-        arg1: *const ::std::os::raw::c_char,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_database_file_object(arg1: *const ::std::os::raw::c_char) -> *mut sqlite3_file;
-}
-extern "C" {
-    pub fn sqlite3_create_filename(
-        zDatabase: *const ::std::os::raw::c_char,
-        zJournal: *const ::std::os::raw::c_char,
-        zWal: *const ::std::os::raw::c_char,
-        nParam: ::std::os::raw::c_int,
-        azParam: *mut *const ::std::os::raw::c_char,
-    ) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_free_filename(arg1: *mut ::std::os::raw::c_char);
-}
-extern "C" {
-    pub fn sqlite3_errcode(db: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_extended_errcode(db: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_errmsg(arg1: *mut sqlite3) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_errmsg16(arg1: *mut sqlite3) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_errstr(arg1: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_stmt {
-    _unused: [u8; 0],
-}
-extern "C" {
-    pub fn sqlite3_limit(
-        arg1: *mut sqlite3,
-        id: ::std::os::raw::c_int,
-        newVal: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_prepare(
-        db: *mut sqlite3,
-        zSql: *const ::std::os::raw::c_char,
-        nByte: ::std::os::raw::c_int,
-        ppStmt: *mut *mut sqlite3_stmt,
-        pzTail: *mut *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_prepare_v2(
-        db: *mut sqlite3,
-        zSql: *const ::std::os::raw::c_char,
-        nByte: ::std::os::raw::c_int,
-        ppStmt: *mut *mut sqlite3_stmt,
-        pzTail: *mut *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_prepare_v3(
-        db: *mut sqlite3,
-        zSql: *const ::std::os::raw::c_char,
-        nByte: ::std::os::raw::c_int,
-        prepFlags: ::std::os::raw::c_uint,
-        ppStmt: *mut *mut sqlite3_stmt,
-        pzTail: *mut *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_prepare16(
-        db: *mut sqlite3,
-        zSql: *const ::std::os::raw::c_void,
-        nByte: ::std::os::raw::c_int,
-        ppStmt: *mut *mut sqlite3_stmt,
-        pzTail: *mut *const ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_prepare16_v2(
-        db: *mut sqlite3,
-        zSql: *const ::std::os::raw::c_void,
-        nByte: ::std::os::raw::c_int,
-        ppStmt: *mut *mut sqlite3_stmt,
-        pzTail: *mut *const ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_prepare16_v3(
-        db: *mut sqlite3,
-        zSql: *const ::std::os::raw::c_void,
-        nByte: ::std::os::raw::c_int,
-        prepFlags: ::std::os::raw::c_uint,
-        ppStmt: *mut *mut sqlite3_stmt,
-        pzTail: *mut *const ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_sql(pStmt: *mut sqlite3_stmt) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_expanded_sql(pStmt: *mut sqlite3_stmt) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_normalized_sql(pStmt: *mut sqlite3_stmt) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_stmt_readonly(pStmt: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_stmt_isexplain(pStmt: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_stmt_busy(arg1: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_value {
-    _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_context {
-    _unused: [u8; 0],
-}
-extern "C" {
-    pub fn sqlite3_bind_blob(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: *const ::std::os::raw::c_void,
-        n: ::std::os::raw::c_int,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_blob64(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: *const ::std::os::raw::c_void,
-        arg4: sqlite3_uint64,
-        arg5: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_double(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: f64,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_int(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_int64(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: sqlite3_int64,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_null(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_text(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: *const ::std::os::raw::c_char,
-        arg4: ::std::os::raw::c_int,
-        arg5: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_text16(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: *const ::std::os::raw::c_void,
-        arg4: ::std::os::raw::c_int,
-        arg5: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_text64(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: *const ::std::os::raw::c_char,
-        arg4: sqlite3_uint64,
-        arg5: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-        encoding: ::std::os::raw::c_uchar,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_value(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: *const sqlite3_value,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_pointer(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: *mut ::std::os::raw::c_void,
-        arg4: *const ::std::os::raw::c_char,
-        arg5: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_zeroblob(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        n: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_zeroblob64(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: sqlite3_uint64,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_parameter_count(arg1: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_parameter_name(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_bind_parameter_index(
-        arg1: *mut sqlite3_stmt,
-        zName: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_clear_bindings(arg1: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_column_count(pStmt: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_column_name(
-        arg1: *mut sqlite3_stmt,
-        N: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_column_name16(
-        arg1: *mut sqlite3_stmt,
-        N: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_column_database_name(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_column_database_name16(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_column_table_name(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_column_table_name16(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_column_origin_name(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_column_origin_name16(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_column_decltype(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_column_decltype16(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_step(arg1: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_data_count(pStmt: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_column_blob(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_column_double(arg1: *mut sqlite3_stmt, iCol: ::std::os::raw::c_int) -> f64;
-}
-extern "C" {
-    pub fn sqlite3_column_int(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_column_int64(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> sqlite3_int64;
-}
-extern "C" {
-    pub fn sqlite3_column_text(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_uchar;
-}
-extern "C" {
-    pub fn sqlite3_column_text16(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_column_value(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> *mut sqlite3_value;
-}
-extern "C" {
-    pub fn sqlite3_column_bytes(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_column_bytes16(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_column_type(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_finalize(pStmt: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_reset(pStmt: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_create_function(
-        db: *mut sqlite3,
-        zFunctionName: *const ::std::os::raw::c_char,
-        nArg: ::std::os::raw::c_int,
-        eTextRep: ::std::os::raw::c_int,
-        pApp: *mut ::std::os::raw::c_void,
-        xFunc: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_context,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut sqlite3_value,
-            ),
-        >,
-        xStep: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_context,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut sqlite3_value,
-            ),
-        >,
-        xFinal: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_context)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_create_function16(
-        db: *mut sqlite3,
-        zFunctionName: *const ::std::os::raw::c_void,
-        nArg: ::std::os::raw::c_int,
-        eTextRep: ::std::os::raw::c_int,
-        pApp: *mut ::std::os::raw::c_void,
-        xFunc: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_context,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut sqlite3_value,
-            ),
-        >,
-        xStep: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_context,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut sqlite3_value,
-            ),
-        >,
-        xFinal: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_context)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_create_function_v2(
-        db: *mut sqlite3,
-        zFunctionName: *const ::std::os::raw::c_char,
-        nArg: ::std::os::raw::c_int,
-        eTextRep: ::std::os::raw::c_int,
-        pApp: *mut ::std::os::raw::c_void,
-        xFunc: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_context,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut sqlite3_value,
-            ),
-        >,
-        xStep: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_context,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut sqlite3_value,
-            ),
-        >,
-        xFinal: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_context)>,
-        xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_create_window_function(
-        db: *mut sqlite3,
-        zFunctionName: *const ::std::os::raw::c_char,
-        nArg: ::std::os::raw::c_int,
-        eTextRep: ::std::os::raw::c_int,
-        pApp: *mut ::std::os::raw::c_void,
-        xStep: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_context,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut sqlite3_value,
-            ),
-        >,
-        xFinal: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_context)>,
-        xValue: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_context)>,
-        xInverse: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_context,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut sqlite3_value,
-            ),
-        >,
-        xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_aggregate_count(arg1: *mut sqlite3_context) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_expired(arg1: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_transfer_bindings(
-        arg1: *mut sqlite3_stmt,
-        arg2: *mut sqlite3_stmt,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_global_recover() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_thread_cleanup();
-}
-extern "C" {
-    pub fn sqlite3_memory_alarm(
-        arg1: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: sqlite3_int64,
-                arg3: ::std::os::raw::c_int,
-            ),
-        >,
-        arg2: *mut ::std::os::raw::c_void,
-        arg3: sqlite3_int64,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_value_blob(arg1: *mut sqlite3_value) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_value_double(arg1: *mut sqlite3_value) -> f64;
-}
-extern "C" {
-    pub fn sqlite3_value_int(arg1: *mut sqlite3_value) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_value_int64(arg1: *mut sqlite3_value) -> sqlite3_int64;
-}
-extern "C" {
-    pub fn sqlite3_value_pointer(
-        arg1: *mut sqlite3_value,
-        arg2: *const ::std::os::raw::c_char,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_value_text(arg1: *mut sqlite3_value) -> *const ::std::os::raw::c_uchar;
-}
-extern "C" {
-    pub fn sqlite3_value_text16(arg1: *mut sqlite3_value) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_value_text16le(arg1: *mut sqlite3_value) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_value_text16be(arg1: *mut sqlite3_value) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_value_bytes(arg1: *mut sqlite3_value) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_value_bytes16(arg1: *mut sqlite3_value) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_value_type(arg1: *mut sqlite3_value) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_value_numeric_type(arg1: *mut sqlite3_value) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_value_nochange(arg1: *mut sqlite3_value) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_value_frombind(arg1: *mut sqlite3_value) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_value_subtype(arg1: *mut sqlite3_value) -> ::std::os::raw::c_uint;
-}
-extern "C" {
-    pub fn sqlite3_value_dup(arg1: *const sqlite3_value) -> *mut sqlite3_value;
-}
-extern "C" {
-    pub fn sqlite3_value_free(arg1: *mut sqlite3_value);
-}
-extern "C" {
-    pub fn sqlite3_aggregate_context(
-        arg1: *mut sqlite3_context,
-        nBytes: ::std::os::raw::c_int,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_user_data(arg1: *mut sqlite3_context) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_context_db_handle(arg1: *mut sqlite3_context) -> *mut sqlite3;
-}
-extern "C" {
-    pub fn sqlite3_get_auxdata(
-        arg1: *mut sqlite3_context,
-        N: ::std::os::raw::c_int,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_set_auxdata(
-        arg1: *mut sqlite3_context,
-        N: ::std::os::raw::c_int,
-        arg2: *mut ::std::os::raw::c_void,
-        arg3: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    );
-}
-pub type sqlite3_destructor_type =
-    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>;
-extern "C" {
-    pub fn sqlite3_result_blob(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_void,
-        arg3: ::std::os::raw::c_int,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_blob64(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_void,
-        arg3: sqlite3_uint64,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_double(arg1: *mut sqlite3_context, arg2: f64);
-}
-extern "C" {
-    pub fn sqlite3_result_error(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_char,
-        arg3: ::std::os::raw::c_int,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_error16(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_void,
-        arg3: ::std::os::raw::c_int,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_error_toobig(arg1: *mut sqlite3_context);
-}
-extern "C" {
-    pub fn sqlite3_result_error_nomem(arg1: *mut sqlite3_context);
-}
-extern "C" {
-    pub fn sqlite3_result_error_code(arg1: *mut sqlite3_context, arg2: ::std::os::raw::c_int);
-}
-extern "C" {
-    pub fn sqlite3_result_int(arg1: *mut sqlite3_context, arg2: ::std::os::raw::c_int);
-}
-extern "C" {
-    pub fn sqlite3_result_int64(arg1: *mut sqlite3_context, arg2: sqlite3_int64);
-}
-extern "C" {
-    pub fn sqlite3_result_null(arg1: *mut sqlite3_context);
-}
-extern "C" {
-    pub fn sqlite3_result_text(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_char,
-        arg3: ::std::os::raw::c_int,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_text64(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_char,
-        arg3: sqlite3_uint64,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-        encoding: ::std::os::raw::c_uchar,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_text16(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_void,
-        arg3: ::std::os::raw::c_int,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_text16le(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_void,
-        arg3: ::std::os::raw::c_int,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_text16be(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_void,
-        arg3: ::std::os::raw::c_int,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_value(arg1: *mut sqlite3_context, arg2: *mut sqlite3_value);
-}
-extern "C" {
-    pub fn sqlite3_result_pointer(
-        arg1: *mut sqlite3_context,
-        arg2: *mut ::std::os::raw::c_void,
-        arg3: *const ::std::os::raw::c_char,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_zeroblob(arg1: *mut sqlite3_context, n: ::std::os::raw::c_int);
-}
-extern "C" {
-    pub fn sqlite3_result_zeroblob64(
-        arg1: *mut sqlite3_context,
-        n: sqlite3_uint64,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_result_subtype(arg1: *mut sqlite3_context, arg2: ::std::os::raw::c_uint);
-}
-extern "C" {
-    pub fn sqlite3_create_collation(
-        arg1: *mut sqlite3,
-        zName: *const ::std::os::raw::c_char,
-        eTextRep: ::std::os::raw::c_int,
-        pArg: *mut ::std::os::raw::c_void,
-        xCompare: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: ::std::os::raw::c_int,
-                arg3: *const ::std::os::raw::c_void,
-                arg4: ::std::os::raw::c_int,
-                arg5: *const ::std::os::raw::c_void,
-            ) -> ::std::os::raw::c_int,
-        >,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_create_collation_v2(
-        arg1: *mut sqlite3,
-        zName: *const ::std::os::raw::c_char,
-        eTextRep: ::std::os::raw::c_int,
-        pArg: *mut ::std::os::raw::c_void,
-        xCompare: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: ::std::os::raw::c_int,
-                arg3: *const ::std::os::raw::c_void,
-                arg4: ::std::os::raw::c_int,
-                arg5: *const ::std::os::raw::c_void,
-            ) -> ::std::os::raw::c_int,
-        >,
-        xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_create_collation16(
-        arg1: *mut sqlite3,
-        zName: *const ::std::os::raw::c_void,
-        eTextRep: ::std::os::raw::c_int,
-        pArg: *mut ::std::os::raw::c_void,
-        xCompare: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: ::std::os::raw::c_int,
-                arg3: *const ::std::os::raw::c_void,
-                arg4: ::std::os::raw::c_int,
-                arg5: *const ::std::os::raw::c_void,
-            ) -> ::std::os::raw::c_int,
-        >,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_collation_needed(
-        arg1: *mut sqlite3,
-        arg2: *mut ::std::os::raw::c_void,
-        arg3: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: *mut sqlite3,
-                eTextRep: ::std::os::raw::c_int,
-                arg3: *const ::std::os::raw::c_char,
-            ),
-        >,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_collation_needed16(
-        arg1: *mut sqlite3,
-        arg2: *mut ::std::os::raw::c_void,
-        arg3: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: *mut sqlite3,
-                eTextRep: ::std::os::raw::c_int,
-                arg3: *const ::std::os::raw::c_void,
-            ),
-        >,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_sleep(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub static mut sqlite3_temp_directory: *mut ::std::os::raw::c_char;
-}
-extern "C" {
-    pub static mut sqlite3_data_directory: *mut ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_win32_set_directory(
-        type_: ::std::os::raw::c_ulong,
-        zValue: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_win32_set_directory8(
-        type_: ::std::os::raw::c_ulong,
-        zValue: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_win32_set_directory16(
-        type_: ::std::os::raw::c_ulong,
-        zValue: *const ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_get_autocommit(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_db_handle(arg1: *mut sqlite3_stmt) -> *mut sqlite3;
-}
-extern "C" {
-    pub fn sqlite3_db_filename(
-        db: *mut sqlite3,
-        zDbName: *const ::std::os::raw::c_char,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_db_readonly(
-        db: *mut sqlite3,
-        zDbName: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_next_stmt(pDb: *mut sqlite3, pStmt: *mut sqlite3_stmt) -> *mut sqlite3_stmt;
-}
-extern "C" {
-    pub fn sqlite3_commit_hook(
-        arg1: *mut sqlite3,
-        arg2: ::std::option::Option<
-            unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
-        >,
-        arg3: *mut ::std::os::raw::c_void,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_rollback_hook(
-        arg1: *mut sqlite3,
-        arg2: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-        arg3: *mut ::std::os::raw::c_void,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_update_hook(
-        arg1: *mut sqlite3,
-        arg2: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: ::std::os::raw::c_int,
-                arg3: *const ::std::os::raw::c_char,
-                arg4: *const ::std::os::raw::c_char,
-                arg5: sqlite3_int64,
-            ),
-        >,
-        arg3: *mut ::std::os::raw::c_void,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_enable_shared_cache(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_release_memory(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_db_release_memory(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_soft_heap_limit64(N: sqlite3_int64) -> sqlite3_int64;
-}
-extern "C" {
-    pub fn sqlite3_hard_heap_limit64(N: sqlite3_int64) -> sqlite3_int64;
-}
-extern "C" {
-    pub fn sqlite3_soft_heap_limit(N: ::std::os::raw::c_int);
-}
-extern "C" {
-    pub fn sqlite3_table_column_metadata(
-        db: *mut sqlite3,
-        zDbName: *const ::std::os::raw::c_char,
-        zTableName: *const ::std::os::raw::c_char,
-        zColumnName: *const ::std::os::raw::c_char,
-        pzDataType: *mut *const ::std::os::raw::c_char,
-        pzCollSeq: *mut *const ::std::os::raw::c_char,
-        pNotNull: *mut ::std::os::raw::c_int,
-        pPrimaryKey: *mut ::std::os::raw::c_int,
-        pAutoinc: *mut ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_load_extension(
-        db: *mut sqlite3,
-        zFile: *const ::std::os::raw::c_char,
-        zProc: *const ::std::os::raw::c_char,
-        pzErrMsg: *mut *mut ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_enable_load_extension(
-        db: *mut sqlite3,
-        onoff: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_auto_extension(
-        xEntryPoint: ::std::option::Option<unsafe extern "C" fn()>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_cancel_auto_extension(
-        xEntryPoint: ::std::option::Option<unsafe extern "C" fn()>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_reset_auto_extension();
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_module {
-    pub iVersion: ::std::os::raw::c_int,
-    pub xCreate: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3,
-            pAux: *mut ::std::os::raw::c_void,
-            argc: ::std::os::raw::c_int,
-            argv: *const *const ::std::os::raw::c_char,
-            ppVTab: *mut *mut sqlite3_vtab,
-            arg2: *mut *mut ::std::os::raw::c_char,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xConnect: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3,
-            pAux: *mut ::std::os::raw::c_void,
-            argc: ::std::os::raw::c_int,
-            argv: *const *const ::std::os::raw::c_char,
-            ppVTab: *mut *mut sqlite3_vtab,
-            arg2: *mut *mut ::std::os::raw::c_char,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xBestIndex: ::std::option::Option<
-        unsafe extern "C" fn(
-            pVTab: *mut sqlite3_vtab,
-            arg1: *mut sqlite3_index_info,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xDisconnect: ::std::option::Option<
-        unsafe extern "C" fn(pVTab: *mut sqlite3_vtab) -> ::std::os::raw::c_int,
-    >,
-    pub xDestroy: ::std::option::Option<
-        unsafe extern "C" fn(pVTab: *mut sqlite3_vtab) -> ::std::os::raw::c_int,
-    >,
-    pub xOpen: ::std::option::Option<
-        unsafe extern "C" fn(
-            pVTab: *mut sqlite3_vtab,
-            ppCursor: *mut *mut sqlite3_vtab_cursor,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xClose: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_vtab_cursor) -> ::std::os::raw::c_int,
-    >,
-    pub xFilter: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vtab_cursor,
-            idxNum: ::std::os::raw::c_int,
-            idxStr: *const ::std::os::raw::c_char,
-            argc: ::std::os::raw::c_int,
-            argv: *mut *mut sqlite3_value,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xNext: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_vtab_cursor) -> ::std::os::raw::c_int,
-    >,
-    pub xEof: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_vtab_cursor) -> ::std::os::raw::c_int,
-    >,
-    pub xColumn: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vtab_cursor,
-            arg2: *mut sqlite3_context,
-            arg3: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xRowid: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vtab_cursor,
-            pRowid: *mut sqlite3_int64,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xUpdate: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vtab,
-            arg2: ::std::os::raw::c_int,
-            arg3: *mut *mut sqlite3_value,
-            arg4: *mut sqlite3_int64,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xBegin: ::std::option::Option<
-        unsafe extern "C" fn(pVTab: *mut sqlite3_vtab) -> ::std::os::raw::c_int,
-    >,
-    pub xSync: ::std::option::Option<
-        unsafe extern "C" fn(pVTab: *mut sqlite3_vtab) -> ::std::os::raw::c_int,
-    >,
-    pub xCommit: ::std::option::Option<
-        unsafe extern "C" fn(pVTab: *mut sqlite3_vtab) -> ::std::os::raw::c_int,
-    >,
-    pub xRollback: ::std::option::Option<
-        unsafe extern "C" fn(pVTab: *mut sqlite3_vtab) -> ::std::os::raw::c_int,
-    >,
-    pub xFindFunction: ::std::option::Option<
-        unsafe extern "C" fn(
-            pVtab: *mut sqlite3_vtab,
-            nArg: ::std::os::raw::c_int,
-            zName: *const ::std::os::raw::c_char,
-            pxFunc: *mut ::std::option::Option<
-                unsafe extern "C" fn(
-                    arg1: *mut sqlite3_context,
-                    arg2: ::std::os::raw::c_int,
-                    arg3: *mut *mut sqlite3_value,
-                ),
-            >,
-            ppArg: *mut *mut ::std::os::raw::c_void,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xRename: ::std::option::Option<
-        unsafe extern "C" fn(
-            pVtab: *mut sqlite3_vtab,
-            zNew: *const ::std::os::raw::c_char,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xSavepoint: ::std::option::Option<
-        unsafe extern "C" fn(
-            pVTab: *mut sqlite3_vtab,
-            arg1: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xRelease: ::std::option::Option<
-        unsafe extern "C" fn(
-            pVTab: *mut sqlite3_vtab,
-            arg1: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xRollbackTo: ::std::option::Option<
-        unsafe extern "C" fn(
-            pVTab: *mut sqlite3_vtab,
-            arg1: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xShadowName: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int,
-    >,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_module() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_module>(),
-        96usize,
-        concat!("Size of: ", stringify!(sqlite3_module))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_module>(),
-        4usize,
-        concat!("Alignment of ", stringify!(sqlite3_module))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).iVersion as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(iVersion)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xCreate as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xCreate)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xConnect as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xConnect)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xBestIndex as *const _ as usize },
-        12usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xBestIndex)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xDisconnect as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xDisconnect)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xDestroy as *const _ as usize },
-        20usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xDestroy)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xOpen as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xOpen)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xClose as *const _ as usize },
-        28usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xClose)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xFilter as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xFilter)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xNext as *const _ as usize },
-        36usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xNext)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xEof as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xEof)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xColumn as *const _ as usize },
-        44usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xColumn)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xRowid as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xRowid)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xUpdate as *const _ as usize },
-        52usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xUpdate)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xBegin as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xBegin)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xSync as *const _ as usize },
-        60usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xSync)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xCommit as *const _ as usize },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xCommit)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xRollback as *const _ as usize },
-        68usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xRollback)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xFindFunction as *const _ as usize },
-        72usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xFindFunction)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xRename as *const _ as usize },
-        76usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xRename)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xSavepoint as *const _ as usize },
-        80usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xSavepoint)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xRelease as *const _ as usize },
-        84usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xRelease)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xRollbackTo as *const _ as usize },
-        88usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xRollbackTo)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xShadowName as *const _ as usize },
-        92usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xShadowName)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_index_info {
-    pub nConstraint: ::std::os::raw::c_int,
-    pub aConstraint: *mut sqlite3_index_info_sqlite3_index_constraint,
-    pub nOrderBy: ::std::os::raw::c_int,
-    pub aOrderBy: *mut sqlite3_index_info_sqlite3_index_orderby,
-    pub aConstraintUsage: *mut sqlite3_index_info_sqlite3_index_constraint_usage,
-    pub idxNum: ::std::os::raw::c_int,
-    pub idxStr: *mut ::std::os::raw::c_char,
-    pub needToFreeIdxStr: ::std::os::raw::c_int,
-    pub orderByConsumed: ::std::os::raw::c_int,
-    pub estimatedCost: f64,
-    pub estimatedRows: sqlite3_int64,
-    pub idxFlags: ::std::os::raw::c_int,
-    pub colUsed: sqlite3_uint64,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_index_info_sqlite3_index_constraint {
-    pub iColumn: ::std::os::raw::c_int,
-    pub op: ::std::os::raw::c_uchar,
-    pub usable: ::std::os::raw::c_uchar,
-    pub iTermOffset: ::std::os::raw::c_int,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_index_info_sqlite3_index_constraint() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_index_info_sqlite3_index_constraint>(),
-        12usize,
-        concat!(
-            "Size of: ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint)
-        )
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_index_info_sqlite3_index_constraint>(),
-        4usize,
-        concat!(
-            "Alignment of ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info_sqlite3_index_constraint>())).iColumn
-                as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint),
-            "::",
-            stringify!(iColumn)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info_sqlite3_index_constraint>())).op as *const _
-                as usize
-        },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint),
-            "::",
-            stringify!(op)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info_sqlite3_index_constraint>())).usable
-                as *const _ as usize
-        },
-        5usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint),
-            "::",
-            stringify!(usable)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info_sqlite3_index_constraint>())).iTermOffset
-                as *const _ as usize
-        },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint),
-            "::",
-            stringify!(iTermOffset)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_index_info_sqlite3_index_orderby {
-    pub iColumn: ::std::os::raw::c_int,
-    pub desc: ::std::os::raw::c_uchar,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_index_info_sqlite3_index_orderby() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_index_info_sqlite3_index_orderby>(),
-        8usize,
-        concat!(
-            "Size of: ",
-            stringify!(sqlite3_index_info_sqlite3_index_orderby)
-        )
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_index_info_sqlite3_index_orderby>(),
-        4usize,
-        concat!(
-            "Alignment of ",
-            stringify!(sqlite3_index_info_sqlite3_index_orderby)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info_sqlite3_index_orderby>())).iColumn as *const _
-                as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info_sqlite3_index_orderby),
-            "::",
-            stringify!(iColumn)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info_sqlite3_index_orderby>())).desc as *const _
-                as usize
-        },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info_sqlite3_index_orderby),
-            "::",
-            stringify!(desc)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_index_info_sqlite3_index_constraint_usage {
-    pub argvIndex: ::std::os::raw::c_int,
-    pub omit: ::std::os::raw::c_uchar,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_index_info_sqlite3_index_constraint_usage() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_index_info_sqlite3_index_constraint_usage>(),
-        8usize,
-        concat!(
-            "Size of: ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint_usage)
-        )
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_index_info_sqlite3_index_constraint_usage>(),
-        4usize,
-        concat!(
-            "Alignment of ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint_usage)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info_sqlite3_index_constraint_usage>())).argvIndex
-                as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint_usage),
-            "::",
-            stringify!(argvIndex)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info_sqlite3_index_constraint_usage>())).omit
-                as *const _ as usize
-        },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint_usage),
-            "::",
-            stringify!(omit)
-        )
-    );
-}
-#[test]
-fn bindgen_test_layout_sqlite3_index_info() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_index_info>(),
-        72usize,
-        concat!("Size of: ", stringify!(sqlite3_index_info))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_index_info>(),
-        8usize,
-        concat!("Alignment of ", stringify!(sqlite3_index_info))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_index_info>())).nConstraint as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(nConstraint)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_index_info>())).aConstraint as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(aConstraint)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_index_info>())).nOrderBy as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(nOrderBy)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_index_info>())).aOrderBy as *const _ as usize },
-        12usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(aOrderBy)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info>())).aConstraintUsage as *const _ as usize
-        },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(aConstraintUsage)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_index_info>())).idxNum as *const _ as usize },
-        20usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(idxNum)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_index_info>())).idxStr as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(idxStr)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info>())).needToFreeIdxStr as *const _ as usize
-        },
-        28usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(needToFreeIdxStr)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info>())).orderByConsumed as *const _ as usize
-        },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(orderByConsumed)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info>())).estimatedCost as *const _ as usize
-        },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(estimatedCost)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info>())).estimatedRows as *const _ as usize
-        },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(estimatedRows)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_index_info>())).idxFlags as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(idxFlags)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_index_info>())).colUsed as *const _ as usize },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(colUsed)
-        )
-    );
-}
-extern "C" {
-    pub fn sqlite3_create_module(
-        db: *mut sqlite3,
-        zName: *const ::std::os::raw::c_char,
-        p: *const sqlite3_module,
-        pClientData: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_create_module_v2(
-        db: *mut sqlite3,
-        zName: *const ::std::os::raw::c_char,
-        p: *const sqlite3_module,
-        pClientData: *mut ::std::os::raw::c_void,
-        xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_drop_modules(
-        db: *mut sqlite3,
-        azKeep: *mut *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_vtab {
-    pub pModule: *const sqlite3_module,
-    pub nRef: ::std::os::raw::c_int,
-    pub zErrMsg: *mut ::std::os::raw::c_char,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_vtab() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_vtab>(),
-        12usize,
-        concat!("Size of: ", stringify!(sqlite3_vtab))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_vtab>(),
-        4usize,
-        concat!("Alignment of ", stringify!(sqlite3_vtab))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vtab>())).pModule as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vtab),
-            "::",
-            stringify!(pModule)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vtab>())).nRef as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vtab),
-            "::",
-            stringify!(nRef)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vtab>())).zErrMsg as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vtab),
-            "::",
-            stringify!(zErrMsg)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_vtab_cursor {
-    pub pVtab: *mut sqlite3_vtab,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_vtab_cursor() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_vtab_cursor>(),
-        4usize,
-        concat!("Size of: ", stringify!(sqlite3_vtab_cursor))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_vtab_cursor>(),
-        4usize,
-        concat!("Alignment of ", stringify!(sqlite3_vtab_cursor))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vtab_cursor>())).pVtab as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vtab_cursor),
-            "::",
-            stringify!(pVtab)
-        )
-    );
-}
-extern "C" {
-    pub fn sqlite3_declare_vtab(
-        arg1: *mut sqlite3,
-        zSQL: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_overload_function(
-        arg1: *mut sqlite3,
-        zFuncName: *const ::std::os::raw::c_char,
-        nArg: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_blob {
-    _unused: [u8; 0],
-}
-extern "C" {
-    pub fn sqlite3_blob_open(
-        arg1: *mut sqlite3,
-        zDb: *const ::std::os::raw::c_char,
-        zTable: *const ::std::os::raw::c_char,
-        zColumn: *const ::std::os::raw::c_char,
-        iRow: sqlite3_int64,
-        flags: ::std::os::raw::c_int,
-        ppBlob: *mut *mut sqlite3_blob,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_blob_reopen(
-        arg1: *mut sqlite3_blob,
-        arg2: sqlite3_int64,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_blob_close(arg1: *mut sqlite3_blob) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_blob_bytes(arg1: *mut sqlite3_blob) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_blob_read(
-        arg1: *mut sqlite3_blob,
-        Z: *mut ::std::os::raw::c_void,
-        N: ::std::os::raw::c_int,
-        iOffset: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_blob_write(
-        arg1: *mut sqlite3_blob,
-        z: *const ::std::os::raw::c_void,
-        n: ::std::os::raw::c_int,
-        iOffset: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_vfs_find(zVfsName: *const ::std::os::raw::c_char) -> *mut sqlite3_vfs;
-}
-extern "C" {
-    pub fn sqlite3_vfs_register(
-        arg1: *mut sqlite3_vfs,
-        makeDflt: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_vfs_unregister(arg1: *mut sqlite3_vfs) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_mutex_alloc(arg1: ::std::os::raw::c_int) -> *mut sqlite3_mutex;
-}
-extern "C" {
-    pub fn sqlite3_mutex_free(arg1: *mut sqlite3_mutex);
-}
-extern "C" {
-    pub fn sqlite3_mutex_enter(arg1: *mut sqlite3_mutex);
-}
-extern "C" {
-    pub fn sqlite3_mutex_try(arg1: *mut sqlite3_mutex) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_mutex_leave(arg1: *mut sqlite3_mutex);
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_mutex_methods {
-    pub xMutexInit: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
-    pub xMutexEnd: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
-    pub xMutexAlloc: ::std::option::Option<
-        unsafe extern "C" fn(arg1: ::std::os::raw::c_int) -> *mut sqlite3_mutex,
-    >,
-    pub xMutexFree: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_mutex)>,
-    pub xMutexEnter: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_mutex)>,
-    pub xMutexTry: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_mutex) -> ::std::os::raw::c_int,
-    >,
-    pub xMutexLeave: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_mutex)>,
-    pub xMutexHeld: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_mutex) -> ::std::os::raw::c_int,
-    >,
-    pub xMutexNotheld: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_mutex) -> ::std::os::raw::c_int,
-    >,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_mutex_methods() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_mutex_methods>(),
-        36usize,
-        concat!("Size of: ", stringify!(sqlite3_mutex_methods))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_mutex_methods>(),
-        4usize,
-        concat!("Alignment of ", stringify!(sqlite3_mutex_methods))
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexInit as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexInit)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexEnd as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexEnd)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexAlloc as *const _ as usize
-        },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexAlloc)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexFree as *const _ as usize
-        },
-        12usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexFree)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexEnter as *const _ as usize
-        },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexEnter)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexTry as *const _ as usize },
-        20usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexTry)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexLeave as *const _ as usize
-        },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexLeave)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexHeld as *const _ as usize
-        },
-        28usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexHeld)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexNotheld as *const _ as usize
-        },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexNotheld)
-        )
-    );
-}
-extern "C" {
-    pub fn sqlite3_db_mutex(arg1: *mut sqlite3) -> *mut sqlite3_mutex;
-}
-extern "C" {
-    pub fn sqlite3_file_control(
-        arg1: *mut sqlite3,
-        zDbName: *const ::std::os::raw::c_char,
-        op: ::std::os::raw::c_int,
-        arg2: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_test_control(op: ::std::os::raw::c_int, ...) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_keyword_count() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_keyword_name(
-        arg1: ::std::os::raw::c_int,
-        arg2: *mut *const ::std::os::raw::c_char,
-        arg3: *mut ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_keyword_check(
-        arg1: *const ::std::os::raw::c_char,
-        arg2: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_str {
-    _unused: [u8; 0],
-}
-extern "C" {
-    pub fn sqlite3_str_new(arg1: *mut sqlite3) -> *mut sqlite3_str;
-}
-extern "C" {
-    pub fn sqlite3_str_finish(arg1: *mut sqlite3_str) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_str_appendf(arg1: *mut sqlite3_str, zFormat: *const ::std::os::raw::c_char, ...);
-}
-extern "C" {
-    pub fn sqlite3_str_append(
-        arg1: *mut sqlite3_str,
-        zIn: *const ::std::os::raw::c_char,
-        N: ::std::os::raw::c_int,
-    );
-}
-extern "C" {
-    pub fn sqlite3_str_appendall(arg1: *mut sqlite3_str, zIn: *const ::std::os::raw::c_char);
-}
-extern "C" {
-    pub fn sqlite3_str_appendchar(
-        arg1: *mut sqlite3_str,
-        N: ::std::os::raw::c_int,
-        C: ::std::os::raw::c_char,
-    );
-}
-extern "C" {
-    pub fn sqlite3_str_reset(arg1: *mut sqlite3_str);
-}
-extern "C" {
-    pub fn sqlite3_str_errcode(arg1: *mut sqlite3_str) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_str_length(arg1: *mut sqlite3_str) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_str_value(arg1: *mut sqlite3_str) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_status(
-        op: ::std::os::raw::c_int,
-        pCurrent: *mut ::std::os::raw::c_int,
-        pHighwater: *mut ::std::os::raw::c_int,
-        resetFlag: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_status64(
-        op: ::std::os::raw::c_int,
-        pCurrent: *mut sqlite3_int64,
-        pHighwater: *mut sqlite3_int64,
-        resetFlag: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_db_status(
-        arg1: *mut sqlite3,
-        op: ::std::os::raw::c_int,
-        pCur: *mut ::std::os::raw::c_int,
-        pHiwtr: *mut ::std::os::raw::c_int,
-        resetFlg: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_stmt_status(
-        arg1: *mut sqlite3_stmt,
-        op: ::std::os::raw::c_int,
-        resetFlg: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_pcache {
-    _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_pcache_page {
-    pub pBuf: *mut ::std::os::raw::c_void,
-    pub pExtra: *mut ::std::os::raw::c_void,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_pcache_page() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_pcache_page>(),
-        8usize,
-        concat!("Size of: ", stringify!(sqlite3_pcache_page))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_pcache_page>(),
-        4usize,
-        concat!("Alignment of ", stringify!(sqlite3_pcache_page))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_page>())).pBuf as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_page),
-            "::",
-            stringify!(pBuf)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_page>())).pExtra as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_page),
-            "::",
-            stringify!(pExtra)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_pcache_methods2 {
-    pub iVersion: ::std::os::raw::c_int,
-    pub pArg: *mut ::std::os::raw::c_void,
-    pub xInit: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
-    >,
-    pub xShutdown: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    pub xCreate: ::std::option::Option<
-        unsafe extern "C" fn(
-            szPage: ::std::os::raw::c_int,
-            szExtra: ::std::os::raw::c_int,
-            bPurgeable: ::std::os::raw::c_int,
-        ) -> *mut sqlite3_pcache,
-    >,
-    pub xCachesize: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_pcache, nCachesize: ::std::os::raw::c_int),
-    >,
-    pub xPagecount: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_pcache) -> ::std::os::raw::c_int,
-    >,
-    pub xFetch: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_pcache,
-            key: ::std::os::raw::c_uint,
-            createFlag: ::std::os::raw::c_int,
-        ) -> *mut sqlite3_pcache_page,
-    >,
-    pub xUnpin: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_pcache,
-            arg2: *mut sqlite3_pcache_page,
-            discard: ::std::os::raw::c_int,
-        ),
-    >,
-    pub xRekey: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_pcache,
-            arg2: *mut sqlite3_pcache_page,
-            oldKey: ::std::os::raw::c_uint,
-            newKey: ::std::os::raw::c_uint,
-        ),
-    >,
-    pub xTruncate: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_pcache, iLimit: ::std::os::raw::c_uint),
-    >,
-    pub xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_pcache)>,
-    pub xShrink: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_pcache)>,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_pcache_methods2() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_pcache_methods2>(),
-        52usize,
-        concat!("Size of: ", stringify!(sqlite3_pcache_methods2))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_pcache_methods2>(),
-        4usize,
-        concat!("Alignment of ", stringify!(sqlite3_pcache_methods2))
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).iVersion as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(iVersion)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).pArg as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(pArg)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xInit as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xInit)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xShutdown as *const _ as usize
-        },
-        12usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xShutdown)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xCreate as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xCreate)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xCachesize as *const _ as usize
-        },
-        20usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xCachesize)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xPagecount as *const _ as usize
-        },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xPagecount)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xFetch as *const _ as usize },
-        28usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xFetch)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xUnpin as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xUnpin)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xRekey as *const _ as usize },
-        36usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xRekey)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xTruncate as *const _ as usize
-        },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xTruncate)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xDestroy as *const _ as usize
-        },
-        44usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xDestroy)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xShrink as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xShrink)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_pcache_methods {
-    pub pArg: *mut ::std::os::raw::c_void,
-    pub xInit: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
-    >,
-    pub xShutdown: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    pub xCreate: ::std::option::Option<
-        unsafe extern "C" fn(
-            szPage: ::std::os::raw::c_int,
-            bPurgeable: ::std::os::raw::c_int,
-        ) -> *mut sqlite3_pcache,
-    >,
-    pub xCachesize: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_pcache, nCachesize: ::std::os::raw::c_int),
-    >,
-    pub xPagecount: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_pcache) -> ::std::os::raw::c_int,
-    >,
-    pub xFetch: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_pcache,
-            key: ::std::os::raw::c_uint,
-            createFlag: ::std::os::raw::c_int,
-        ) -> *mut ::std::os::raw::c_void,
-    >,
-    pub xUnpin: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_pcache,
-            arg2: *mut ::std::os::raw::c_void,
-            discard: ::std::os::raw::c_int,
-        ),
-    >,
-    pub xRekey: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_pcache,
-            arg2: *mut ::std::os::raw::c_void,
-            oldKey: ::std::os::raw::c_uint,
-            newKey: ::std::os::raw::c_uint,
-        ),
-    >,
-    pub xTruncate: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_pcache, iLimit: ::std::os::raw::c_uint),
-    >,
-    pub xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_pcache)>,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_pcache_methods() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_pcache_methods>(),
-        44usize,
-        concat!("Size of: ", stringify!(sqlite3_pcache_methods))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_pcache_methods>(),
-        4usize,
-        concat!("Alignment of ", stringify!(sqlite3_pcache_methods))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods>())).pArg as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(pArg)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xInit as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xInit)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xShutdown as *const _ as usize
-        },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xShutdown)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xCreate as *const _ as usize },
-        12usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xCreate)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xCachesize as *const _ as usize
-        },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xCachesize)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xPagecount as *const _ as usize
-        },
-        20usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xPagecount)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xFetch as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xFetch)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xUnpin as *const _ as usize },
-        28usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xUnpin)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xRekey as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xRekey)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xTruncate as *const _ as usize
-        },
-        36usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xTruncate)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xDestroy as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xDestroy)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_backup {
-    _unused: [u8; 0],
-}
-extern "C" {
-    pub fn sqlite3_backup_init(
-        pDest: *mut sqlite3,
-        zDestName: *const ::std::os::raw::c_char,
-        pSource: *mut sqlite3,
-        zSourceName: *const ::std::os::raw::c_char,
-    ) -> *mut sqlite3_backup;
-}
-extern "C" {
-    pub fn sqlite3_backup_step(
-        p: *mut sqlite3_backup,
-        nPage: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_backup_finish(p: *mut sqlite3_backup) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_backup_remaining(p: *mut sqlite3_backup) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_backup_pagecount(p: *mut sqlite3_backup) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_unlock_notify(
-        pBlocked: *mut sqlite3,
-        xNotify: ::std::option::Option<
-            unsafe extern "C" fn(
-                apArg: *mut *mut ::std::os::raw::c_void,
-                nArg: ::std::os::raw::c_int,
-            ),
-        >,
-        pNotifyArg: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_stricmp(
-        arg1: *const ::std::os::raw::c_char,
-        arg2: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_strnicmp(
-        arg1: *const ::std::os::raw::c_char,
-        arg2: *const ::std::os::raw::c_char,
-        arg3: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_strglob(
-        zGlob: *const ::std::os::raw::c_char,
-        zStr: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_strlike(
-        zGlob: *const ::std::os::raw::c_char,
-        zStr: *const ::std::os::raw::c_char,
-        cEsc: ::std::os::raw::c_uint,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_log(
-        iErrCode: ::std::os::raw::c_int,
-        zFormat: *const ::std::os::raw::c_char,
-        ...
-    );
-}
-extern "C" {
-    pub fn sqlite3_wal_hook(
-        arg1: *mut sqlite3,
-        arg2: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: *mut sqlite3,
-                arg3: *const ::std::os::raw::c_char,
-                arg4: ::std::os::raw::c_int,
-            ) -> ::std::os::raw::c_int,
-        >,
-        arg3: *mut ::std::os::raw::c_void,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_wal_autocheckpoint(
-        db: *mut sqlite3,
-        N: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_wal_checkpoint(
-        db: *mut sqlite3,
-        zDb: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_wal_checkpoint_v2(
-        db: *mut sqlite3,
-        zDb: *const ::std::os::raw::c_char,
-        eMode: ::std::os::raw::c_int,
-        pnLog: *mut ::std::os::raw::c_int,
-        pnCkpt: *mut ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_vtab_config(
-        arg1: *mut sqlite3,
-        op: ::std::os::raw::c_int,
-        ...
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_vtab_on_conflict(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_vtab_nochange(arg1: *mut sqlite3_context) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_vtab_collation(
-        arg1: *mut sqlite3_index_info,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_stmt_scanstatus(
-        pStmt: *mut sqlite3_stmt,
-        idx: ::std::os::raw::c_int,
-        iScanStatusOp: ::std::os::raw::c_int,
-        pOut: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_stmt_scanstatus_reset(arg1: *mut sqlite3_stmt);
-}
-extern "C" {
-    pub fn sqlite3_db_cacheflush(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_system_errno(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct sqlite3_snapshot {
-    pub hidden: [::std::os::raw::c_uchar; 48usize],
-}
-#[test]
-fn bindgen_test_layout_sqlite3_snapshot() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_snapshot>(),
-        48usize,
-        concat!("Size of: ", stringify!(sqlite3_snapshot))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_snapshot>(),
-        1usize,
-        concat!("Alignment of ", stringify!(sqlite3_snapshot))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_snapshot>())).hidden as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_snapshot),
-            "::",
-            stringify!(hidden)
-        )
-    );
-}
-extern "C" {
-    pub fn sqlite3_snapshot_get(
-        db: *mut sqlite3,
-        zSchema: *const ::std::os::raw::c_char,
-        ppSnapshot: *mut *mut sqlite3_snapshot,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_snapshot_open(
-        db: *mut sqlite3,
-        zSchema: *const ::std::os::raw::c_char,
-        pSnapshot: *mut sqlite3_snapshot,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_snapshot_free(arg1: *mut sqlite3_snapshot);
-}
-extern "C" {
-    pub fn sqlite3_snapshot_cmp(
-        p1: *mut sqlite3_snapshot,
-        p2: *mut sqlite3_snapshot,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_snapshot_recover(
-        db: *mut sqlite3,
-        zDb: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_serialize(
-        db: *mut sqlite3,
-        zSchema: *const ::std::os::raw::c_char,
-        piSize: *mut sqlite3_int64,
-        mFlags: ::std::os::raw::c_uint,
-    ) -> *mut ::std::os::raw::c_uchar;
-}
-extern "C" {
-    pub fn sqlite3_deserialize(
-        db: *mut sqlite3,
-        zSchema: *const ::std::os::raw::c_char,
-        pData: *mut ::std::os::raw::c_uchar,
-        szDb: sqlite3_int64,
-        szBuf: sqlite3_int64,
-        mFlags: ::std::os::raw::c_uint,
-    ) -> ::std::os::raw::c_int;
-}
-pub type sqlite3_rtree_dbl = f64;
-extern "C" {
-    pub fn sqlite3_rtree_geometry_callback(
-        db: *mut sqlite3,
-        zGeom: *const ::std::os::raw::c_char,
-        xGeom: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_rtree_geometry,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut sqlite3_rtree_dbl,
-                arg4: *mut ::std::os::raw::c_int,
-            ) -> ::std::os::raw::c_int,
-        >,
-        pContext: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_rtree_geometry {
-    pub pContext: *mut ::std::os::raw::c_void,
-    pub nParam: ::std::os::raw::c_int,
-    pub aParam: *mut sqlite3_rtree_dbl,
-    pub pUser: *mut ::std::os::raw::c_void,
-    pub xDelUser: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_rtree_geometry() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_rtree_geometry>(),
-        20usize,
-        concat!("Size of: ", stringify!(sqlite3_rtree_geometry))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_rtree_geometry>(),
-        4usize,
-        concat!("Alignment of ", stringify!(sqlite3_rtree_geometry))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_geometry>())).pContext as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_geometry),
-            "::",
-            stringify!(pContext)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_geometry>())).nParam as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_geometry),
-            "::",
-            stringify!(nParam)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_geometry>())).aParam as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_geometry),
-            "::",
-            stringify!(aParam)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_geometry>())).pUser as *const _ as usize },
-        12usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_geometry),
-            "::",
-            stringify!(pUser)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_geometry>())).xDelUser as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_geometry),
-            "::",
-            stringify!(xDelUser)
-        )
-    );
-}
-extern "C" {
-    pub fn sqlite3_rtree_query_callback(
-        db: *mut sqlite3,
-        zQueryFunc: *const ::std::os::raw::c_char,
-        xQueryFunc: ::std::option::Option<
-            unsafe extern "C" fn(arg1: *mut sqlite3_rtree_query_info) -> ::std::os::raw::c_int,
-        >,
-        pContext: *mut ::std::os::raw::c_void,
-        xDestructor: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_rtree_query_info {
-    pub pContext: *mut ::std::os::raw::c_void,
-    pub nParam: ::std::os::raw::c_int,
-    pub aParam: *mut sqlite3_rtree_dbl,
-    pub pUser: *mut ::std::os::raw::c_void,
-    pub xDelUser: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    pub aCoord: *mut sqlite3_rtree_dbl,
-    pub anQueue: *mut ::std::os::raw::c_uint,
-    pub nCoord: ::std::os::raw::c_int,
-    pub iLevel: ::std::os::raw::c_int,
-    pub mxLevel: ::std::os::raw::c_int,
-    pub iRowid: sqlite3_int64,
-    pub rParentScore: sqlite3_rtree_dbl,
-    pub eParentWithin: ::std::os::raw::c_int,
-    pub eWithin: ::std::os::raw::c_int,
-    pub rScore: sqlite3_rtree_dbl,
-    pub apSqlParam: *mut *mut sqlite3_value,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_rtree_query_info() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_rtree_query_info>(),
-        80usize,
-        concat!("Size of: ", stringify!(sqlite3_rtree_query_info))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_rtree_query_info>(),
-        8usize,
-        concat!("Alignment of ", stringify!(sqlite3_rtree_query_info))
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).pContext as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(pContext)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).nParam as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(nParam)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).aParam as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(aParam)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).pUser as *const _ as usize },
-        12usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(pUser)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).xDelUser as *const _ as usize
-        },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(xDelUser)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).aCoord as *const _ as usize },
-        20usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(aCoord)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).anQueue as *const _ as usize
-        },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(anQueue)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).nCoord as *const _ as usize },
-        28usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(nCoord)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).iLevel as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(iLevel)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).mxLevel as *const _ as usize
-        },
-        36usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(mxLevel)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).iRowid as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(iRowid)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).rParentScore as *const _ as usize
-        },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(rParentScore)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).eParentWithin as *const _ as usize
-        },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(eParentWithin)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).eWithin as *const _ as usize
-        },
-        60usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(eWithin)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).rScore as *const _ as usize },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(rScore)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).apSqlParam as *const _ as usize
-        },
-        72usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(apSqlParam)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct Fts5Context {
-    _unused: [u8; 0],
-}
-pub type fts5_extension_function = ::std::option::Option<
-    unsafe extern "C" fn(
-        pApi: *const Fts5ExtensionApi,
-        pFts: *mut Fts5Context,
-        pCtx: *mut sqlite3_context,
-        nVal: ::std::os::raw::c_int,
-        apVal: *mut *mut sqlite3_value,
-    ),
->;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct Fts5PhraseIter {
-    pub a: *const ::std::os::raw::c_uchar,
-    pub b: *const ::std::os::raw::c_uchar,
-}
-#[test]
-fn bindgen_test_layout_Fts5PhraseIter() {
-    assert_eq!(
-        ::std::mem::size_of::<Fts5PhraseIter>(),
-        8usize,
-        concat!("Size of: ", stringify!(Fts5PhraseIter))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<Fts5PhraseIter>(),
-        4usize,
-        concat!("Alignment of ", stringify!(Fts5PhraseIter))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5PhraseIter>())).a as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5PhraseIter),
-            "::",
-            stringify!(a)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5PhraseIter>())).b as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5PhraseIter),
-            "::",
-            stringify!(b)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct Fts5ExtensionApi {
-    pub iVersion: ::std::os::raw::c_int,
-    pub xUserData: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut Fts5Context) -> *mut ::std::os::raw::c_void,
-    >,
-    pub xColumnCount: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut Fts5Context) -> ::std::os::raw::c_int,
-    >,
-    pub xRowCount: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            pnRow: *mut sqlite3_int64,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xColumnTotalSize: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            iCol: ::std::os::raw::c_int,
-            pnToken: *mut sqlite3_int64,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xTokenize: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            pText: *const ::std::os::raw::c_char,
-            nText: ::std::os::raw::c_int,
-            pCtx: *mut ::std::os::raw::c_void,
-            xToken: ::std::option::Option<
-                unsafe extern "C" fn(
-                    arg1: *mut ::std::os::raw::c_void,
-                    arg2: ::std::os::raw::c_int,
-                    arg3: *const ::std::os::raw::c_char,
-                    arg4: ::std::os::raw::c_int,
-                    arg5: ::std::os::raw::c_int,
-                    arg6: ::std::os::raw::c_int,
-                ) -> ::std::os::raw::c_int,
-            >,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xPhraseCount: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut Fts5Context) -> ::std::os::raw::c_int,
-    >,
-    pub xPhraseSize: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            iPhrase: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xInstCount: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            pnInst: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xInst: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            iIdx: ::std::os::raw::c_int,
-            piPhrase: *mut ::std::os::raw::c_int,
-            piCol: *mut ::std::os::raw::c_int,
-            piOff: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xRowid:
-        ::std::option::Option<unsafe extern "C" fn(arg1: *mut Fts5Context) -> sqlite3_int64>,
-    pub xColumnText: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            iCol: ::std::os::raw::c_int,
-            pz: *mut *const ::std::os::raw::c_char,
-            pn: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xColumnSize: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            iCol: ::std::os::raw::c_int,
-            pnToken: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xQueryPhrase: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            iPhrase: ::std::os::raw::c_int,
-            pUserData: *mut ::std::os::raw::c_void,
-            arg2: ::std::option::Option<
-                unsafe extern "C" fn(
-                    arg1: *const Fts5ExtensionApi,
-                    arg2: *mut Fts5Context,
-                    arg3: *mut ::std::os::raw::c_void,
-                ) -> ::std::os::raw::c_int,
-            >,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xSetAuxdata: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            pAux: *mut ::std::os::raw::c_void,
-            xDelete: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xGetAuxdata: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            bClear: ::std::os::raw::c_int,
-        ) -> *mut ::std::os::raw::c_void,
-    >,
-    pub xPhraseFirst: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            iPhrase: ::std::os::raw::c_int,
-            arg2: *mut Fts5PhraseIter,
-            arg3: *mut ::std::os::raw::c_int,
-            arg4: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xPhraseNext: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            arg2: *mut Fts5PhraseIter,
-            piCol: *mut ::std::os::raw::c_int,
-            piOff: *mut ::std::os::raw::c_int,
-        ),
-    >,
-    pub xPhraseFirstColumn: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            iPhrase: ::std::os::raw::c_int,
-            arg2: *mut Fts5PhraseIter,
-            arg3: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xPhraseNextColumn: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            arg2: *mut Fts5PhraseIter,
-            piCol: *mut ::std::os::raw::c_int,
-        ),
-    >,
-}
-#[test]
-fn bindgen_test_layout_Fts5ExtensionApi() {
-    assert_eq!(
-        ::std::mem::size_of::<Fts5ExtensionApi>(),
-        80usize,
-        concat!("Size of: ", stringify!(Fts5ExtensionApi))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<Fts5ExtensionApi>(),
-        4usize,
-        concat!("Alignment of ", stringify!(Fts5ExtensionApi))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).iVersion as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(iVersion)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xUserData as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xUserData)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xColumnCount as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xColumnCount)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xRowCount as *const _ as usize },
-        12usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xRowCount)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<Fts5ExtensionApi>())).xColumnTotalSize as *const _ as usize
-        },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xColumnTotalSize)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xTokenize as *const _ as usize },
-        20usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xTokenize)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xPhraseCount as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xPhraseCount)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xPhraseSize as *const _ as usize },
-        28usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xPhraseSize)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xInstCount as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xInstCount)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xInst as *const _ as usize },
-        36usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xInst)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xRowid as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xRowid)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xColumnText as *const _ as usize },
-        44usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xColumnText)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xColumnSize as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xColumnSize)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xQueryPhrase as *const _ as usize },
-        52usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xQueryPhrase)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xSetAuxdata as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xSetAuxdata)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xGetAuxdata as *const _ as usize },
-        60usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xGetAuxdata)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xPhraseFirst as *const _ as usize },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xPhraseFirst)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xPhraseNext as *const _ as usize },
-        68usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xPhraseNext)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<Fts5ExtensionApi>())).xPhraseFirstColumn as *const _ as usize
-        },
-        72usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xPhraseFirstColumn)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<Fts5ExtensionApi>())).xPhraseNextColumn as *const _ as usize
-        },
-        76usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xPhraseNextColumn)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct Fts5Tokenizer {
-    _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct fts5_tokenizer {
-    pub xCreate: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut ::std::os::raw::c_void,
-            azArg: *mut *const ::std::os::raw::c_char,
-            nArg: ::std::os::raw::c_int,
-            ppOut: *mut *mut Fts5Tokenizer,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xDelete: ::std::option::Option<unsafe extern "C" fn(arg1: *mut Fts5Tokenizer)>,
-    pub xTokenize: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Tokenizer,
-            pCtx: *mut ::std::os::raw::c_void,
-            flags: ::std::os::raw::c_int,
-            pText: *const ::std::os::raw::c_char,
-            nText: ::std::os::raw::c_int,
-            xToken: ::std::option::Option<
-                unsafe extern "C" fn(
-                    pCtx: *mut ::std::os::raw::c_void,
-                    tflags: ::std::os::raw::c_int,
-                    pToken: *const ::std::os::raw::c_char,
-                    nToken: ::std::os::raw::c_int,
-                    iStart: ::std::os::raw::c_int,
-                    iEnd: ::std::os::raw::c_int,
-                ) -> ::std::os::raw::c_int,
-            >,
-        ) -> ::std::os::raw::c_int,
-    >,
-}
-#[test]
-fn bindgen_test_layout_fts5_tokenizer() {
-    assert_eq!(
-        ::std::mem::size_of::<fts5_tokenizer>(),
-        12usize,
-        concat!("Size of: ", stringify!(fts5_tokenizer))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<fts5_tokenizer>(),
-        4usize,
-        concat!("Alignment of ", stringify!(fts5_tokenizer))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<fts5_tokenizer>())).xCreate as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(fts5_tokenizer),
-            "::",
-            stringify!(xCreate)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<fts5_tokenizer>())).xDelete as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(fts5_tokenizer),
-            "::",
-            stringify!(xDelete)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<fts5_tokenizer>())).xTokenize as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(fts5_tokenizer),
-            "::",
-            stringify!(xTokenize)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct fts5_api {
-    pub iVersion: ::std::os::raw::c_int,
-    pub xCreateTokenizer: ::std::option::Option<
-        unsafe extern "C" fn(
-            pApi: *mut fts5_api,
-            zName: *const ::std::os::raw::c_char,
-            pContext: *mut ::std::os::raw::c_void,
-            pTokenizer: *mut fts5_tokenizer,
-            xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xFindTokenizer: ::std::option::Option<
-        unsafe extern "C" fn(
-            pApi: *mut fts5_api,
-            zName: *const ::std::os::raw::c_char,
-            ppContext: *mut *mut ::std::os::raw::c_void,
-            pTokenizer: *mut fts5_tokenizer,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xCreateFunction: ::std::option::Option<
-        unsafe extern "C" fn(
-            pApi: *mut fts5_api,
-            zName: *const ::std::os::raw::c_char,
-            pContext: *mut ::std::os::raw::c_void,
-            xFunction: fts5_extension_function,
-            xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-        ) -> ::std::os::raw::c_int,
-    >,
-}
-#[test]
-fn bindgen_test_layout_fts5_api() {
-    assert_eq!(
-        ::std::mem::size_of::<fts5_api>(),
-        16usize,
-        concat!("Size of: ", stringify!(fts5_api))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<fts5_api>(),
-        4usize,
-        concat!("Alignment of ", stringify!(fts5_api))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<fts5_api>())).iVersion as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(fts5_api),
-            "::",
-            stringify!(iVersion)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<fts5_api>())).xCreateTokenizer as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(fts5_api),
-            "::",
-            stringify!(xCreateTokenizer)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<fts5_api>())).xFindTokenizer as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(fts5_api),
-            "::",
-            stringify!(xFindTokenizer)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<fts5_api>())).xCreateFunction as *const _ as usize },
-        12usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(fts5_api),
-            "::",
-            stringify!(xCreateFunction)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct __va_list {
-    pub __ap: *mut ::std::os::raw::c_void,
-}
-#[test]
-fn bindgen_test_layout___va_list() {
-    assert_eq!(
-        ::std::mem::size_of::<__va_list>(),
-        4usize,
-        concat!("Size of: ", stringify!(__va_list))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<__va_list>(),
-        4usize,
-        concat!("Alignment of ", stringify!(__va_list))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<__va_list>())).__ap as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(__va_list),
-            "::",
-            stringify!(__ap)
-        )
-    );
-}
diff --git a/android/arm64/bindings.rs b/android/arm64/bindings.rs
deleted file mode 100644
index ccfd3e8..0000000
--- a/android/arm64/bindings.rs
+++ /dev/null
@@ -1,5273 +0,0 @@
-/* automatically generated by rust-bindgen (unknown version) */
-
-pub const SQLITE_VERSION: &'static [u8; 7usize] = b"3.32.2\0";
-pub const SQLITE_VERSION_NUMBER: i32 = 3032002;
-pub const SQLITE_SOURCE_ID: &'static [u8; 85usize] =
-    b"2020-06-04 12:58:43 ec02243ea6ce33b090870ae55ab8aa2534b54d216d45c4aa2fdbb00e86861e8c\0";
-pub const SQLITE_OK: i32 = 0;
-pub const SQLITE_ERROR: i32 = 1;
-pub const SQLITE_INTERNAL: i32 = 2;
-pub const SQLITE_PERM: i32 = 3;
-pub const SQLITE_ABORT: i32 = 4;
-pub const SQLITE_BUSY: i32 = 5;
-pub const SQLITE_LOCKED: i32 = 6;
-pub const SQLITE_NOMEM: i32 = 7;
-pub const SQLITE_READONLY: i32 = 8;
-pub const SQLITE_INTERRUPT: i32 = 9;
-pub const SQLITE_IOERR: i32 = 10;
-pub const SQLITE_CORRUPT: i32 = 11;
-pub const SQLITE_NOTFOUND: i32 = 12;
-pub const SQLITE_FULL: i32 = 13;
-pub const SQLITE_CANTOPEN: i32 = 14;
-pub const SQLITE_PROTOCOL: i32 = 15;
-pub const SQLITE_EMPTY: i32 = 16;
-pub const SQLITE_SCHEMA: i32 = 17;
-pub const SQLITE_TOOBIG: i32 = 18;
-pub const SQLITE_CONSTRAINT: i32 = 19;
-pub const SQLITE_MISMATCH: i32 = 20;
-pub const SQLITE_MISUSE: i32 = 21;
-pub const SQLITE_NOLFS: i32 = 22;
-pub const SQLITE_AUTH: i32 = 23;
-pub const SQLITE_FORMAT: i32 = 24;
-pub const SQLITE_RANGE: i32 = 25;
-pub const SQLITE_NOTADB: i32 = 26;
-pub const SQLITE_NOTICE: i32 = 27;
-pub const SQLITE_WARNING: i32 = 28;
-pub const SQLITE_ROW: i32 = 100;
-pub const SQLITE_DONE: i32 = 101;
-pub const SQLITE_ERROR_MISSING_COLLSEQ: i32 = 257;
-pub const SQLITE_ERROR_RETRY: i32 = 513;
-pub const SQLITE_ERROR_SNAPSHOT: i32 = 769;
-pub const SQLITE_IOERR_READ: i32 = 266;
-pub const SQLITE_IOERR_SHORT_READ: i32 = 522;
-pub const SQLITE_IOERR_WRITE: i32 = 778;
-pub const SQLITE_IOERR_FSYNC: i32 = 1034;
-pub const SQLITE_IOERR_DIR_FSYNC: i32 = 1290;
-pub const SQLITE_IOERR_TRUNCATE: i32 = 1546;
-pub const SQLITE_IOERR_FSTAT: i32 = 1802;
-pub const SQLITE_IOERR_UNLOCK: i32 = 2058;
-pub const SQLITE_IOERR_RDLOCK: i32 = 2314;
-pub const SQLITE_IOERR_DELETE: i32 = 2570;
-pub const SQLITE_IOERR_BLOCKED: i32 = 2826;
-pub const SQLITE_IOERR_NOMEM: i32 = 3082;
-pub const SQLITE_IOERR_ACCESS: i32 = 3338;
-pub const SQLITE_IOERR_CHECKRESERVEDLOCK: i32 = 3594;
-pub const SQLITE_IOERR_LOCK: i32 = 3850;
-pub const SQLITE_IOERR_CLOSE: i32 = 4106;
-pub const SQLITE_IOERR_DIR_CLOSE: i32 = 4362;
-pub const SQLITE_IOERR_SHMOPEN: i32 = 4618;
-pub const SQLITE_IOERR_SHMSIZE: i32 = 4874;
-pub const SQLITE_IOERR_SHMLOCK: i32 = 5130;
-pub const SQLITE_IOERR_SHMMAP: i32 = 5386;
-pub const SQLITE_IOERR_SEEK: i32 = 5642;
-pub const SQLITE_IOERR_DELETE_NOENT: i32 = 5898;
-pub const SQLITE_IOERR_MMAP: i32 = 6154;
-pub const SQLITE_IOERR_GETTEMPPATH: i32 = 6410;
-pub const SQLITE_IOERR_CONVPATH: i32 = 6666;
-pub const SQLITE_IOERR_VNODE: i32 = 6922;
-pub const SQLITE_IOERR_AUTH: i32 = 7178;
-pub const SQLITE_IOERR_BEGIN_ATOMIC: i32 = 7434;
-pub const SQLITE_IOERR_COMMIT_ATOMIC: i32 = 7690;
-pub const SQLITE_IOERR_ROLLBACK_ATOMIC: i32 = 7946;
-pub const SQLITE_IOERR_DATA: i32 = 8202;
-pub const SQLITE_LOCKED_SHAREDCACHE: i32 = 262;
-pub const SQLITE_LOCKED_VTAB: i32 = 518;
-pub const SQLITE_BUSY_RECOVERY: i32 = 261;
-pub const SQLITE_BUSY_SNAPSHOT: i32 = 517;
-pub const SQLITE_BUSY_TIMEOUT: i32 = 773;
-pub const SQLITE_CANTOPEN_NOTEMPDIR: i32 = 270;
-pub const SQLITE_CANTOPEN_ISDIR: i32 = 526;
-pub const SQLITE_CANTOPEN_FULLPATH: i32 = 782;
-pub const SQLITE_CANTOPEN_CONVPATH: i32 = 1038;
-pub const SQLITE_CANTOPEN_DIRTYWAL: i32 = 1294;
-pub const SQLITE_CANTOPEN_SYMLINK: i32 = 1550;
-pub const SQLITE_CORRUPT_VTAB: i32 = 267;
-pub const SQLITE_CORRUPT_SEQUENCE: i32 = 523;
-pub const SQLITE_CORRUPT_INDEX: i32 = 779;
-pub const SQLITE_READONLY_RECOVERY: i32 = 264;
-pub const SQLITE_READONLY_CANTLOCK: i32 = 520;
-pub const SQLITE_READONLY_ROLLBACK: i32 = 776;
-pub const SQLITE_READONLY_DBMOVED: i32 = 1032;
-pub const SQLITE_READONLY_CANTINIT: i32 = 1288;
-pub const SQLITE_READONLY_DIRECTORY: i32 = 1544;
-pub const SQLITE_ABORT_ROLLBACK: i32 = 516;
-pub const SQLITE_CONSTRAINT_CHECK: i32 = 275;
-pub const SQLITE_CONSTRAINT_COMMITHOOK: i32 = 531;
-pub const SQLITE_CONSTRAINT_FOREIGNKEY: i32 = 787;
-pub const SQLITE_CONSTRAINT_FUNCTION: i32 = 1043;
-pub const SQLITE_CONSTRAINT_NOTNULL: i32 = 1299;
-pub const SQLITE_CONSTRAINT_PRIMARYKEY: i32 = 1555;
-pub const SQLITE_CONSTRAINT_TRIGGER: i32 = 1811;
-pub const SQLITE_CONSTRAINT_UNIQUE: i32 = 2067;
-pub const SQLITE_CONSTRAINT_VTAB: i32 = 2323;
-pub const SQLITE_CONSTRAINT_ROWID: i32 = 2579;
-pub const SQLITE_CONSTRAINT_PINNED: i32 = 2835;
-pub const SQLITE_NOTICE_RECOVER_WAL: i32 = 283;
-pub const SQLITE_NOTICE_RECOVER_ROLLBACK: i32 = 539;
-pub const SQLITE_WARNING_AUTOINDEX: i32 = 284;
-pub const SQLITE_AUTH_USER: i32 = 279;
-pub const SQLITE_OK_LOAD_PERMANENTLY: i32 = 256;
-pub const SQLITE_OK_SYMLINK: i32 = 512;
-pub const SQLITE_OPEN_READONLY: i32 = 1;
-pub const SQLITE_OPEN_READWRITE: i32 = 2;
-pub const SQLITE_OPEN_CREATE: i32 = 4;
-pub const SQLITE_OPEN_DELETEONCLOSE: i32 = 8;
-pub const SQLITE_OPEN_EXCLUSIVE: i32 = 16;
-pub const SQLITE_OPEN_AUTOPROXY: i32 = 32;
-pub const SQLITE_OPEN_URI: i32 = 64;
-pub const SQLITE_OPEN_MEMORY: i32 = 128;
-pub const SQLITE_OPEN_MAIN_DB: i32 = 256;
-pub const SQLITE_OPEN_TEMP_DB: i32 = 512;
-pub const SQLITE_OPEN_TRANSIENT_DB: i32 = 1024;
-pub const SQLITE_OPEN_MAIN_JOURNAL: i32 = 2048;
-pub const SQLITE_OPEN_TEMP_JOURNAL: i32 = 4096;
-pub const SQLITE_OPEN_SUBJOURNAL: i32 = 8192;
-pub const SQLITE_OPEN_MASTER_JOURNAL: i32 = 16384;
-pub const SQLITE_OPEN_NOMUTEX: i32 = 32768;
-pub const SQLITE_OPEN_FULLMUTEX: i32 = 65536;
-pub const SQLITE_OPEN_SHAREDCACHE: i32 = 131072;
-pub const SQLITE_OPEN_PRIVATECACHE: i32 = 262144;
-pub const SQLITE_OPEN_WAL: i32 = 524288;
-pub const SQLITE_OPEN_NOFOLLOW: i32 = 16777216;
-pub const SQLITE_IOCAP_ATOMIC: i32 = 1;
-pub const SQLITE_IOCAP_ATOMIC512: i32 = 2;
-pub const SQLITE_IOCAP_ATOMIC1K: i32 = 4;
-pub const SQLITE_IOCAP_ATOMIC2K: i32 = 8;
-pub const SQLITE_IOCAP_ATOMIC4K: i32 = 16;
-pub const SQLITE_IOCAP_ATOMIC8K: i32 = 32;
-pub const SQLITE_IOCAP_ATOMIC16K: i32 = 64;
-pub const SQLITE_IOCAP_ATOMIC32K: i32 = 128;
-pub const SQLITE_IOCAP_ATOMIC64K: i32 = 256;
-pub const SQLITE_IOCAP_SAFE_APPEND: i32 = 512;
-pub const SQLITE_IOCAP_SEQUENTIAL: i32 = 1024;
-pub const SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN: i32 = 2048;
-pub const SQLITE_IOCAP_POWERSAFE_OVERWRITE: i32 = 4096;
-pub const SQLITE_IOCAP_IMMUTABLE: i32 = 8192;
-pub const SQLITE_IOCAP_BATCH_ATOMIC: i32 = 16384;
-pub const SQLITE_LOCK_NONE: i32 = 0;
-pub const SQLITE_LOCK_SHARED: i32 = 1;
-pub const SQLITE_LOCK_RESERVED: i32 = 2;
-pub const SQLITE_LOCK_PENDING: i32 = 3;
-pub const SQLITE_LOCK_EXCLUSIVE: i32 = 4;
-pub const SQLITE_SYNC_NORMAL: i32 = 2;
-pub const SQLITE_SYNC_FULL: i32 = 3;
-pub const SQLITE_SYNC_DATAONLY: i32 = 16;
-pub const SQLITE_FCNTL_LOCKSTATE: i32 = 1;
-pub const SQLITE_FCNTL_GET_LOCKPROXYFILE: i32 = 2;
-pub const SQLITE_FCNTL_SET_LOCKPROXYFILE: i32 = 3;
-pub const SQLITE_FCNTL_LAST_ERRNO: i32 = 4;
-pub const SQLITE_FCNTL_SIZE_HINT: i32 = 5;
-pub const SQLITE_FCNTL_CHUNK_SIZE: i32 = 6;
-pub const SQLITE_FCNTL_FILE_POINTER: i32 = 7;
-pub const SQLITE_FCNTL_SYNC_OMITTED: i32 = 8;
-pub const SQLITE_FCNTL_WIN32_AV_RETRY: i32 = 9;
-pub const SQLITE_FCNTL_PERSIST_WAL: i32 = 10;
-pub const SQLITE_FCNTL_OVERWRITE: i32 = 11;
-pub const SQLITE_FCNTL_VFSNAME: i32 = 12;
-pub const SQLITE_FCNTL_POWERSAFE_OVERWRITE: i32 = 13;
-pub const SQLITE_FCNTL_PRAGMA: i32 = 14;
-pub const SQLITE_FCNTL_BUSYHANDLER: i32 = 15;
-pub const SQLITE_FCNTL_TEMPFILENAME: i32 = 16;
-pub const SQLITE_FCNTL_MMAP_SIZE: i32 = 18;
-pub const SQLITE_FCNTL_TRACE: i32 = 19;
-pub const SQLITE_FCNTL_HAS_MOVED: i32 = 20;
-pub const SQLITE_FCNTL_SYNC: i32 = 21;
-pub const SQLITE_FCNTL_COMMIT_PHASETWO: i32 = 22;
-pub const SQLITE_FCNTL_WIN32_SET_HANDLE: i32 = 23;
-pub const SQLITE_FCNTL_WAL_BLOCK: i32 = 24;
-pub const SQLITE_FCNTL_ZIPVFS: i32 = 25;
-pub const SQLITE_FCNTL_RBU: i32 = 26;
-pub const SQLITE_FCNTL_VFS_POINTER: i32 = 27;
-pub const SQLITE_FCNTL_JOURNAL_POINTER: i32 = 28;
-pub const SQLITE_FCNTL_WIN32_GET_HANDLE: i32 = 29;
-pub const SQLITE_FCNTL_PDB: i32 = 30;
-pub const SQLITE_FCNTL_BEGIN_ATOMIC_WRITE: i32 = 31;
-pub const SQLITE_FCNTL_COMMIT_ATOMIC_WRITE: i32 = 32;
-pub const SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE: i32 = 33;
-pub const SQLITE_FCNTL_LOCK_TIMEOUT: i32 = 34;
-pub const SQLITE_FCNTL_DATA_VERSION: i32 = 35;
-pub const SQLITE_FCNTL_SIZE_LIMIT: i32 = 36;
-pub const SQLITE_FCNTL_CKPT_DONE: i32 = 37;
-pub const SQLITE_FCNTL_RESERVE_BYTES: i32 = 38;
-pub const SQLITE_FCNTL_CKPT_START: i32 = 39;
-pub const SQLITE_GET_LOCKPROXYFILE: i32 = 2;
-pub const SQLITE_SET_LOCKPROXYFILE: i32 = 3;
-pub const SQLITE_LAST_ERRNO: i32 = 4;
-pub const SQLITE_ACCESS_EXISTS: i32 = 0;
-pub const SQLITE_ACCESS_READWRITE: i32 = 1;
-pub const SQLITE_ACCESS_READ: i32 = 2;
-pub const SQLITE_SHM_UNLOCK: i32 = 1;
-pub const SQLITE_SHM_LOCK: i32 = 2;
-pub const SQLITE_SHM_SHARED: i32 = 4;
-pub const SQLITE_SHM_EXCLUSIVE: i32 = 8;
-pub const SQLITE_SHM_NLOCK: i32 = 8;
-pub const SQLITE_CONFIG_SINGLETHREAD: i32 = 1;
-pub const SQLITE_CONFIG_MULTITHREAD: i32 = 2;
-pub const SQLITE_CONFIG_SERIALIZED: i32 = 3;
-pub const SQLITE_CONFIG_MALLOC: i32 = 4;
-pub const SQLITE_CONFIG_GETMALLOC: i32 = 5;
-pub const SQLITE_CONFIG_SCRATCH: i32 = 6;
-pub const SQLITE_CONFIG_PAGECACHE: i32 = 7;
-pub const SQLITE_CONFIG_HEAP: i32 = 8;
-pub const SQLITE_CONFIG_MEMSTATUS: i32 = 9;
-pub const SQLITE_CONFIG_MUTEX: i32 = 10;
-pub const SQLITE_CONFIG_GETMUTEX: i32 = 11;
-pub const SQLITE_CONFIG_LOOKASIDE: i32 = 13;
-pub const SQLITE_CONFIG_PCACHE: i32 = 14;
-pub const SQLITE_CONFIG_GETPCACHE: i32 = 15;
-pub const SQLITE_CONFIG_LOG: i32 = 16;
-pub const SQLITE_CONFIG_URI: i32 = 17;
-pub const SQLITE_CONFIG_PCACHE2: i32 = 18;
-pub const SQLITE_CONFIG_GETPCACHE2: i32 = 19;
-pub const SQLITE_CONFIG_COVERING_INDEX_SCAN: i32 = 20;
-pub const SQLITE_CONFIG_SQLLOG: i32 = 21;
-pub const SQLITE_CONFIG_MMAP_SIZE: i32 = 22;
-pub const SQLITE_CONFIG_WIN32_HEAPSIZE: i32 = 23;
-pub const SQLITE_CONFIG_PCACHE_HDRSZ: i32 = 24;
-pub const SQLITE_CONFIG_PMASZ: i32 = 25;
-pub const SQLITE_CONFIG_STMTJRNL_SPILL: i32 = 26;
-pub const SQLITE_CONFIG_SMALL_MALLOC: i32 = 27;
-pub const SQLITE_CONFIG_SORTERREF_SIZE: i32 = 28;
-pub const SQLITE_CONFIG_MEMDB_MAXSIZE: i32 = 29;
-pub const SQLITE_DBCONFIG_MAINDBNAME: i32 = 1000;
-pub const SQLITE_DBCONFIG_LOOKASIDE: i32 = 1001;
-pub const SQLITE_DBCONFIG_ENABLE_FKEY: i32 = 1002;
-pub const SQLITE_DBCONFIG_ENABLE_TRIGGER: i32 = 1003;
-pub const SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER: i32 = 1004;
-pub const SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION: i32 = 1005;
-pub const SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE: i32 = 1006;
-pub const SQLITE_DBCONFIG_ENABLE_QPSG: i32 = 1007;
-pub const SQLITE_DBCONFIG_TRIGGER_EQP: i32 = 1008;
-pub const SQLITE_DBCONFIG_RESET_DATABASE: i32 = 1009;
-pub const SQLITE_DBCONFIG_DEFENSIVE: i32 = 1010;
-pub const SQLITE_DBCONFIG_WRITABLE_SCHEMA: i32 = 1011;
-pub const SQLITE_DBCONFIG_LEGACY_ALTER_TABLE: i32 = 1012;
-pub const SQLITE_DBCONFIG_DQS_DML: i32 = 1013;
-pub const SQLITE_DBCONFIG_DQS_DDL: i32 = 1014;
-pub const SQLITE_DBCONFIG_ENABLE_VIEW: i32 = 1015;
-pub const SQLITE_DBCONFIG_LEGACY_FILE_FORMAT: i32 = 1016;
-pub const SQLITE_DBCONFIG_TRUSTED_SCHEMA: i32 = 1017;
-pub const SQLITE_DBCONFIG_MAX: i32 = 1017;
-pub const SQLITE_DENY: i32 = 1;
-pub const SQLITE_IGNORE: i32 = 2;
-pub const SQLITE_CREATE_INDEX: i32 = 1;
-pub const SQLITE_CREATE_TABLE: i32 = 2;
-pub const SQLITE_CREATE_TEMP_INDEX: i32 = 3;
-pub const SQLITE_CREATE_TEMP_TABLE: i32 = 4;
-pub const SQLITE_CREATE_TEMP_TRIGGER: i32 = 5;
-pub const SQLITE_CREATE_TEMP_VIEW: i32 = 6;
-pub const SQLITE_CREATE_TRIGGER: i32 = 7;
-pub const SQLITE_CREATE_VIEW: i32 = 8;
-pub const SQLITE_DELETE: i32 = 9;
-pub const SQLITE_DROP_INDEX: i32 = 10;
-pub const SQLITE_DROP_TABLE: i32 = 11;
-pub const SQLITE_DROP_TEMP_INDEX: i32 = 12;
-pub const SQLITE_DROP_TEMP_TABLE: i32 = 13;
-pub const SQLITE_DROP_TEMP_TRIGGER: i32 = 14;
-pub const SQLITE_DROP_TEMP_VIEW: i32 = 15;
-pub const SQLITE_DROP_TRIGGER: i32 = 16;
-pub const SQLITE_DROP_VIEW: i32 = 17;
-pub const SQLITE_INSERT: i32 = 18;
-pub const SQLITE_PRAGMA: i32 = 19;
-pub const SQLITE_READ: i32 = 20;
-pub const SQLITE_SELECT: i32 = 21;
-pub const SQLITE_TRANSACTION: i32 = 22;
-pub const SQLITE_UPDATE: i32 = 23;
-pub const SQLITE_ATTACH: i32 = 24;
-pub const SQLITE_DETACH: i32 = 25;
-pub const SQLITE_ALTER_TABLE: i32 = 26;
-pub const SQLITE_REINDEX: i32 = 27;
-pub const SQLITE_ANALYZE: i32 = 28;
-pub const SQLITE_CREATE_VTABLE: i32 = 29;
-pub const SQLITE_DROP_VTABLE: i32 = 30;
-pub const SQLITE_FUNCTION: i32 = 31;
-pub const SQLITE_SAVEPOINT: i32 = 32;
-pub const SQLITE_COPY: i32 = 0;
-pub const SQLITE_RECURSIVE: i32 = 33;
-pub const SQLITE_TRACE_STMT: i32 = 1;
-pub const SQLITE_TRACE_PROFILE: i32 = 2;
-pub const SQLITE_TRACE_ROW: i32 = 4;
-pub const SQLITE_TRACE_CLOSE: i32 = 8;
-pub const SQLITE_LIMIT_LENGTH: i32 = 0;
-pub const SQLITE_LIMIT_SQL_LENGTH: i32 = 1;
-pub const SQLITE_LIMIT_COLUMN: i32 = 2;
-pub const SQLITE_LIMIT_EXPR_DEPTH: i32 = 3;
-pub const SQLITE_LIMIT_COMPOUND_SELECT: i32 = 4;
-pub const SQLITE_LIMIT_VDBE_OP: i32 = 5;
-pub const SQLITE_LIMIT_FUNCTION_ARG: i32 = 6;
-pub const SQLITE_LIMIT_ATTACHED: i32 = 7;
-pub const SQLITE_LIMIT_LIKE_PATTERN_LENGTH: i32 = 8;
-pub const SQLITE_LIMIT_VARIABLE_NUMBER: i32 = 9;
-pub const SQLITE_LIMIT_TRIGGER_DEPTH: i32 = 10;
-pub const SQLITE_LIMIT_WORKER_THREADS: i32 = 11;
-pub const SQLITE_PREPARE_PERSISTENT: i32 = 1;
-pub const SQLITE_PREPARE_NORMALIZE: i32 = 2;
-pub const SQLITE_PREPARE_NO_VTAB: i32 = 4;
-pub const SQLITE_INTEGER: i32 = 1;
-pub const SQLITE_FLOAT: i32 = 2;
-pub const SQLITE_BLOB: i32 = 4;
-pub const SQLITE_NULL: i32 = 5;
-pub const SQLITE_TEXT: i32 = 3;
-pub const SQLITE3_TEXT: i32 = 3;
-pub const SQLITE_UTF8: i32 = 1;
-pub const SQLITE_UTF16LE: i32 = 2;
-pub const SQLITE_UTF16BE: i32 = 3;
-pub const SQLITE_UTF16: i32 = 4;
-pub const SQLITE_ANY: i32 = 5;
-pub const SQLITE_UTF16_ALIGNED: i32 = 8;
-pub const SQLITE_DETERMINISTIC: i32 = 2048;
-pub const SQLITE_DIRECTONLY: i32 = 524288;
-pub const SQLITE_SUBTYPE: i32 = 1048576;
-pub const SQLITE_INNOCUOUS: i32 = 2097152;
-pub const SQLITE_WIN32_DATA_DIRECTORY_TYPE: i32 = 1;
-pub const SQLITE_WIN32_TEMP_DIRECTORY_TYPE: i32 = 2;
-pub const SQLITE_INDEX_SCAN_UNIQUE: i32 = 1;
-pub const SQLITE_INDEX_CONSTRAINT_EQ: i32 = 2;
-pub const SQLITE_INDEX_CONSTRAINT_GT: i32 = 4;
-pub const SQLITE_INDEX_CONSTRAINT_LE: i32 = 8;
-pub const SQLITE_INDEX_CONSTRAINT_LT: i32 = 16;
-pub const SQLITE_INDEX_CONSTRAINT_GE: i32 = 32;
-pub const SQLITE_INDEX_CONSTRAINT_MATCH: i32 = 64;
-pub const SQLITE_INDEX_CONSTRAINT_LIKE: i32 = 65;
-pub const SQLITE_INDEX_CONSTRAINT_GLOB: i32 = 66;
-pub const SQLITE_INDEX_CONSTRAINT_REGEXP: i32 = 67;
-pub const SQLITE_INDEX_CONSTRAINT_NE: i32 = 68;
-pub const SQLITE_INDEX_CONSTRAINT_ISNOT: i32 = 69;
-pub const SQLITE_INDEX_CONSTRAINT_ISNOTNULL: i32 = 70;
-pub const SQLITE_INDEX_CONSTRAINT_ISNULL: i32 = 71;
-pub const SQLITE_INDEX_CONSTRAINT_IS: i32 = 72;
-pub const SQLITE_INDEX_CONSTRAINT_FUNCTION: i32 = 150;
-pub const SQLITE_MUTEX_FAST: i32 = 0;
-pub const SQLITE_MUTEX_RECURSIVE: i32 = 1;
-pub const SQLITE_MUTEX_STATIC_MASTER: i32 = 2;
-pub const SQLITE_MUTEX_STATIC_MEM: i32 = 3;
-pub const SQLITE_MUTEX_STATIC_MEM2: i32 = 4;
-pub const SQLITE_MUTEX_STATIC_OPEN: i32 = 4;
-pub const SQLITE_MUTEX_STATIC_PRNG: i32 = 5;
-pub const SQLITE_MUTEX_STATIC_LRU: i32 = 6;
-pub const SQLITE_MUTEX_STATIC_LRU2: i32 = 7;
-pub const SQLITE_MUTEX_STATIC_PMEM: i32 = 7;
-pub const SQLITE_MUTEX_STATIC_APP1: i32 = 8;
-pub const SQLITE_MUTEX_STATIC_APP2: i32 = 9;
-pub const SQLITE_MUTEX_STATIC_APP3: i32 = 10;
-pub const SQLITE_MUTEX_STATIC_VFS1: i32 = 11;
-pub const SQLITE_MUTEX_STATIC_VFS2: i32 = 12;
-pub const SQLITE_MUTEX_STATIC_VFS3: i32 = 13;
-pub const SQLITE_TESTCTRL_FIRST: i32 = 5;
-pub const SQLITE_TESTCTRL_PRNG_SAVE: i32 = 5;
-pub const SQLITE_TESTCTRL_PRNG_RESTORE: i32 = 6;
-pub const SQLITE_TESTCTRL_PRNG_RESET: i32 = 7;
-pub const SQLITE_TESTCTRL_BITVEC_TEST: i32 = 8;
-pub const SQLITE_TESTCTRL_FAULT_INSTALL: i32 = 9;
-pub const SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS: i32 = 10;
-pub const SQLITE_TESTCTRL_PENDING_BYTE: i32 = 11;
-pub const SQLITE_TESTCTRL_ASSERT: i32 = 12;
-pub const SQLITE_TESTCTRL_ALWAYS: i32 = 13;
-pub const SQLITE_TESTCTRL_RESERVE: i32 = 14;
-pub const SQLITE_TESTCTRL_OPTIMIZATIONS: i32 = 15;
-pub const SQLITE_TESTCTRL_ISKEYWORD: i32 = 16;
-pub const SQLITE_TESTCTRL_SCRATCHMALLOC: i32 = 17;
-pub const SQLITE_TESTCTRL_INTERNAL_FUNCTIONS: i32 = 17;
-pub const SQLITE_TESTCTRL_LOCALTIME_FAULT: i32 = 18;
-pub const SQLITE_TESTCTRL_EXPLAIN_STMT: i32 = 19;
-pub const SQLITE_TESTCTRL_ONCE_RESET_THRESHOLD: i32 = 19;
-pub const SQLITE_TESTCTRL_NEVER_CORRUPT: i32 = 20;
-pub const SQLITE_TESTCTRL_VDBE_COVERAGE: i32 = 21;
-pub const SQLITE_TESTCTRL_BYTEORDER: i32 = 22;
-pub const SQLITE_TESTCTRL_ISINIT: i32 = 23;
-pub const SQLITE_TESTCTRL_SORTER_MMAP: i32 = 24;
-pub const SQLITE_TESTCTRL_IMPOSTER: i32 = 25;
-pub const SQLITE_TESTCTRL_PARSER_COVERAGE: i32 = 26;
-pub const SQLITE_TESTCTRL_RESULT_INTREAL: i32 = 27;
-pub const SQLITE_TESTCTRL_PRNG_SEED: i32 = 28;
-pub const SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS: i32 = 29;
-pub const SQLITE_TESTCTRL_LAST: i32 = 29;
-pub const SQLITE_STATUS_MEMORY_USED: i32 = 0;
-pub const SQLITE_STATUS_PAGECACHE_USED: i32 = 1;
-pub const SQLITE_STATUS_PAGECACHE_OVERFLOW: i32 = 2;
-pub const SQLITE_STATUS_SCRATCH_USED: i32 = 3;
-pub const SQLITE_STATUS_SCRATCH_OVERFLOW: i32 = 4;
-pub const SQLITE_STATUS_MALLOC_SIZE: i32 = 5;
-pub const SQLITE_STATUS_PARSER_STACK: i32 = 6;
-pub const SQLITE_STATUS_PAGECACHE_SIZE: i32 = 7;
-pub const SQLITE_STATUS_SCRATCH_SIZE: i32 = 8;
-pub const SQLITE_STATUS_MALLOC_COUNT: i32 = 9;
-pub const SQLITE_DBSTATUS_LOOKASIDE_USED: i32 = 0;
-pub const SQLITE_DBSTATUS_CACHE_USED: i32 = 1;
-pub const SQLITE_DBSTATUS_SCHEMA_USED: i32 = 2;
-pub const SQLITE_DBSTATUS_STMT_USED: i32 = 3;
-pub const SQLITE_DBSTATUS_LOOKASIDE_HIT: i32 = 4;
-pub const SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE: i32 = 5;
-pub const SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL: i32 = 6;
-pub const SQLITE_DBSTATUS_CACHE_HIT: i32 = 7;
-pub const SQLITE_DBSTATUS_CACHE_MISS: i32 = 8;
-pub const SQLITE_DBSTATUS_CACHE_WRITE: i32 = 9;
-pub const SQLITE_DBSTATUS_DEFERRED_FKS: i32 = 10;
-pub const SQLITE_DBSTATUS_CACHE_USED_SHARED: i32 = 11;
-pub const SQLITE_DBSTATUS_CACHE_SPILL: i32 = 12;
-pub const SQLITE_DBSTATUS_MAX: i32 = 12;
-pub const SQLITE_STMTSTATUS_FULLSCAN_STEP: i32 = 1;
-pub const SQLITE_STMTSTATUS_SORT: i32 = 2;
-pub const SQLITE_STMTSTATUS_AUTOINDEX: i32 = 3;
-pub const SQLITE_STMTSTATUS_VM_STEP: i32 = 4;
-pub const SQLITE_STMTSTATUS_REPREPARE: i32 = 5;
-pub const SQLITE_STMTSTATUS_RUN: i32 = 6;
-pub const SQLITE_STMTSTATUS_MEMUSED: i32 = 99;
-pub const SQLITE_CHECKPOINT_PASSIVE: i32 = 0;
-pub const SQLITE_CHECKPOINT_FULL: i32 = 1;
-pub const SQLITE_CHECKPOINT_RESTART: i32 = 2;
-pub const SQLITE_CHECKPOINT_TRUNCATE: i32 = 3;
-pub const SQLITE_VTAB_CONSTRAINT_SUPPORT: i32 = 1;
-pub const SQLITE_VTAB_INNOCUOUS: i32 = 2;
-pub const SQLITE_VTAB_DIRECTONLY: i32 = 3;
-pub const SQLITE_ROLLBACK: i32 = 1;
-pub const SQLITE_FAIL: i32 = 3;
-pub const SQLITE_REPLACE: i32 = 5;
-pub const SQLITE_SCANSTAT_NLOOP: i32 = 0;
-pub const SQLITE_SCANSTAT_NVISIT: i32 = 1;
-pub const SQLITE_SCANSTAT_EST: i32 = 2;
-pub const SQLITE_SCANSTAT_NAME: i32 = 3;
-pub const SQLITE_SCANSTAT_EXPLAIN: i32 = 4;
-pub const SQLITE_SCANSTAT_SELECTID: i32 = 5;
-pub const SQLITE_SERIALIZE_NOCOPY: i32 = 1;
-pub const SQLITE_DESERIALIZE_FREEONCLOSE: i32 = 1;
-pub const SQLITE_DESERIALIZE_RESIZEABLE: i32 = 2;
-pub const SQLITE_DESERIALIZE_READONLY: i32 = 4;
-pub const NOT_WITHIN: i32 = 0;
-pub const PARTLY_WITHIN: i32 = 1;
-pub const FULLY_WITHIN: i32 = 2;
-pub const FTS5_TOKENIZE_QUERY: i32 = 1;
-pub const FTS5_TOKENIZE_PREFIX: i32 = 2;
-pub const FTS5_TOKENIZE_DOCUMENT: i32 = 4;
-pub const FTS5_TOKENIZE_AUX: i32 = 8;
-pub const FTS5_TOKEN_COLOCATED: i32 = 1;
-extern "C" {
-    pub static mut sqlite3_version: [::std::os::raw::c_char; 0usize];
-}
-extern "C" {
-    pub fn sqlite3_libversion() -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_sourceid() -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_libversion_number() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_threadsafe() -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3 {
-    _unused: [u8; 0],
-}
-pub type sqlite_int64 = ::std::os::raw::c_longlong;
-pub type sqlite_uint64 = ::std::os::raw::c_ulonglong;
-pub type sqlite3_int64 = sqlite_int64;
-pub type sqlite3_uint64 = sqlite_uint64;
-extern "C" {
-    pub fn sqlite3_close(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_close_v2(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-pub type sqlite3_callback = ::std::option::Option<
-    unsafe extern "C" fn(
-        arg1: *mut ::std::os::raw::c_void,
-        arg2: ::std::os::raw::c_int,
-        arg3: *mut *mut ::std::os::raw::c_char,
-        arg4: *mut *mut ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int,
->;
-extern "C" {
-    pub fn sqlite3_exec(
-        arg1: *mut sqlite3,
-        sql: *const ::std::os::raw::c_char,
-        callback: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut ::std::os::raw::c_char,
-                arg4: *mut *mut ::std::os::raw::c_char,
-            ) -> ::std::os::raw::c_int,
-        >,
-        arg2: *mut ::std::os::raw::c_void,
-        errmsg: *mut *mut ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_file {
-    pub pMethods: *const sqlite3_io_methods,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_file() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_file>(),
-        8usize,
-        concat!("Size of: ", stringify!(sqlite3_file))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_file>(),
-        8usize,
-        concat!("Alignment of ", stringify!(sqlite3_file))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_file>())).pMethods as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_file),
-            "::",
-            stringify!(pMethods)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_io_methods {
-    pub iVersion: ::std::os::raw::c_int,
-    pub xClose: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_file) -> ::std::os::raw::c_int,
-    >,
-    pub xRead: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            arg2: *mut ::std::os::raw::c_void,
-            iAmt: ::std::os::raw::c_int,
-            iOfst: sqlite3_int64,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xWrite: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            arg2: *const ::std::os::raw::c_void,
-            iAmt: ::std::os::raw::c_int,
-            iOfst: sqlite3_int64,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xTruncate: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_file, size: sqlite3_int64) -> ::std::os::raw::c_int,
-    >,
-    pub xSync: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            flags: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xFileSize: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            pSize: *mut sqlite3_int64,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xLock: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            arg2: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xUnlock: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            arg2: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xCheckReservedLock: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            pResOut: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xFileControl: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            op: ::std::os::raw::c_int,
-            pArg: *mut ::std::os::raw::c_void,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xSectorSize: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_file) -> ::std::os::raw::c_int,
-    >,
-    pub xDeviceCharacteristics: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_file) -> ::std::os::raw::c_int,
-    >,
-    pub xShmMap: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            iPg: ::std::os::raw::c_int,
-            pgsz: ::std::os::raw::c_int,
-            arg2: ::std::os::raw::c_int,
-            arg3: *mut *mut ::std::os::raw::c_void,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xShmLock: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            offset: ::std::os::raw::c_int,
-            n: ::std::os::raw::c_int,
-            flags: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xShmBarrier: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_file)>,
-    pub xShmUnmap: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            deleteFlag: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xFetch: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            iOfst: sqlite3_int64,
-            iAmt: ::std::os::raw::c_int,
-            pp: *mut *mut ::std::os::raw::c_void,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xUnfetch: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            iOfst: sqlite3_int64,
-            p: *mut ::std::os::raw::c_void,
-        ) -> ::std::os::raw::c_int,
-    >,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_io_methods() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_io_methods>(),
-        152usize,
-        concat!("Size of: ", stringify!(sqlite3_io_methods))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_io_methods>(),
-        8usize,
-        concat!("Alignment of ", stringify!(sqlite3_io_methods))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).iVersion as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(iVersion)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xClose as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xClose)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xRead as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xRead)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xWrite as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xWrite)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xTruncate as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xTruncate)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xSync as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xSync)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xFileSize as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xFileSize)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xLock as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xLock)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xUnlock as *const _ as usize },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xUnlock)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_io_methods>())).xCheckReservedLock as *const _ as usize
-        },
-        72usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xCheckReservedLock)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xFileControl as *const _ as usize },
-        80usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xFileControl)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xSectorSize as *const _ as usize },
-        88usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xSectorSize)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_io_methods>())).xDeviceCharacteristics as *const _
-                as usize
-        },
-        96usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xDeviceCharacteristics)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xShmMap as *const _ as usize },
-        104usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xShmMap)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xShmLock as *const _ as usize },
-        112usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xShmLock)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xShmBarrier as *const _ as usize },
-        120usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xShmBarrier)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xShmUnmap as *const _ as usize },
-        128usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xShmUnmap)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xFetch as *const _ as usize },
-        136usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xFetch)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xUnfetch as *const _ as usize },
-        144usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xUnfetch)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_mutex {
-    _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_api_routines {
-    _unused: [u8; 0],
-}
-pub type sqlite3_syscall_ptr = ::std::option::Option<unsafe extern "C" fn()>;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_vfs {
-    pub iVersion: ::std::os::raw::c_int,
-    pub szOsFile: ::std::os::raw::c_int,
-    pub mxPathname: ::std::os::raw::c_int,
-    pub pNext: *mut sqlite3_vfs,
-    pub zName: *const ::std::os::raw::c_char,
-    pub pAppData: *mut ::std::os::raw::c_void,
-    pub xOpen: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            zName: *const ::std::os::raw::c_char,
-            arg2: *mut sqlite3_file,
-            flags: ::std::os::raw::c_int,
-            pOutFlags: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xDelete: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            zName: *const ::std::os::raw::c_char,
-            syncDir: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xAccess: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            zName: *const ::std::os::raw::c_char,
-            flags: ::std::os::raw::c_int,
-            pResOut: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xFullPathname: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            zName: *const ::std::os::raw::c_char,
-            nOut: ::std::os::raw::c_int,
-            zOut: *mut ::std::os::raw::c_char,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xDlOpen: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            zFilename: *const ::std::os::raw::c_char,
-        ) -> *mut ::std::os::raw::c_void,
-    >,
-    pub xDlError: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            nByte: ::std::os::raw::c_int,
-            zErrMsg: *mut ::std::os::raw::c_char,
-        ),
-    >,
-    pub xDlSym: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            arg2: *mut ::std::os::raw::c_void,
-            zSymbol: *const ::std::os::raw::c_char,
-        ) -> ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_vfs,
-                arg2: *mut ::std::os::raw::c_void,
-                zSymbol: *const ::std::os::raw::c_char,
-            ),
-        >,
-    >,
-    pub xDlClose: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_vfs, arg2: *mut ::std::os::raw::c_void),
-    >,
-    pub xRandomness: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            nByte: ::std::os::raw::c_int,
-            zOut: *mut ::std::os::raw::c_char,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xSleep: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            microseconds: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xCurrentTime: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_vfs, arg2: *mut f64) -> ::std::os::raw::c_int,
-    >,
-    pub xGetLastError: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            arg2: ::std::os::raw::c_int,
-            arg3: *mut ::std::os::raw::c_char,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xCurrentTimeInt64: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            arg2: *mut sqlite3_int64,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xSetSystemCall: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            zName: *const ::std::os::raw::c_char,
-            arg2: sqlite3_syscall_ptr,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xGetSystemCall: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            zName: *const ::std::os::raw::c_char,
-        ) -> sqlite3_syscall_ptr,
-    >,
-    pub xNextSystemCall: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            zName: *const ::std::os::raw::c_char,
-        ) -> *const ::std::os::raw::c_char,
-    >,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_vfs() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_vfs>(),
-        168usize,
-        concat!("Size of: ", stringify!(sqlite3_vfs))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_vfs>(),
-        8usize,
-        concat!("Alignment of ", stringify!(sqlite3_vfs))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).iVersion as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(iVersion)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).szOsFile as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(szOsFile)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).mxPathname as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(mxPathname)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).pNext as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(pNext)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).zName as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(zName)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).pAppData as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(pAppData)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xOpen as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xOpen)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xDelete as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xDelete)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xAccess as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xAccess)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xFullPathname as *const _ as usize },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xFullPathname)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xDlOpen as *const _ as usize },
-        72usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xDlOpen)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xDlError as *const _ as usize },
-        80usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xDlError)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xDlSym as *const _ as usize },
-        88usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xDlSym)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xDlClose as *const _ as usize },
-        96usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xDlClose)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xRandomness as *const _ as usize },
-        104usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xRandomness)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xSleep as *const _ as usize },
-        112usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xSleep)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xCurrentTime as *const _ as usize },
-        120usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xCurrentTime)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xGetLastError as *const _ as usize },
-        128usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xGetLastError)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xCurrentTimeInt64 as *const _ as usize },
-        136usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xCurrentTimeInt64)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xSetSystemCall as *const _ as usize },
-        144usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xSetSystemCall)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xGetSystemCall as *const _ as usize },
-        152usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xGetSystemCall)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xNextSystemCall as *const _ as usize },
-        160usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xNextSystemCall)
-        )
-    );
-}
-extern "C" {
-    pub fn sqlite3_initialize() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_shutdown() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_os_init() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_os_end() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_config(arg1: ::std::os::raw::c_int, ...) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_db_config(
-        arg1: *mut sqlite3,
-        op: ::std::os::raw::c_int,
-        ...
-    ) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_mem_methods {
-    pub xMalloc: ::std::option::Option<
-        unsafe extern "C" fn(arg1: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_void,
-    >,
-    pub xFree: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    pub xRealloc: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut ::std::os::raw::c_void,
-            arg2: ::std::os::raw::c_int,
-        ) -> *mut ::std::os::raw::c_void,
-    >,
-    pub xSize: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
-    >,
-    pub xRoundup: ::std::option::Option<
-        unsafe extern "C" fn(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
-    >,
-    pub xInit: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
-    >,
-    pub xShutdown: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    pub pAppData: *mut ::std::os::raw::c_void,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_mem_methods() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_mem_methods>(),
-        64usize,
-        concat!("Size of: ", stringify!(sqlite3_mem_methods))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_mem_methods>(),
-        8usize,
-        concat!("Alignment of ", stringify!(sqlite3_mem_methods))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mem_methods>())).xMalloc as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mem_methods),
-            "::",
-            stringify!(xMalloc)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mem_methods>())).xFree as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mem_methods),
-            "::",
-            stringify!(xFree)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mem_methods>())).xRealloc as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mem_methods),
-            "::",
-            stringify!(xRealloc)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mem_methods>())).xSize as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mem_methods),
-            "::",
-            stringify!(xSize)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mem_methods>())).xRoundup as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mem_methods),
-            "::",
-            stringify!(xRoundup)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mem_methods>())).xInit as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mem_methods),
-            "::",
-            stringify!(xInit)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mem_methods>())).xShutdown as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mem_methods),
-            "::",
-            stringify!(xShutdown)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mem_methods>())).pAppData as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mem_methods),
-            "::",
-            stringify!(pAppData)
-        )
-    );
-}
-extern "C" {
-    pub fn sqlite3_extended_result_codes(
-        arg1: *mut sqlite3,
-        onoff: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_last_insert_rowid(arg1: *mut sqlite3) -> sqlite3_int64;
-}
-extern "C" {
-    pub fn sqlite3_set_last_insert_rowid(arg1: *mut sqlite3, arg2: sqlite3_int64);
-}
-extern "C" {
-    pub fn sqlite3_changes(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_total_changes(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_interrupt(arg1: *mut sqlite3);
-}
-extern "C" {
-    pub fn sqlite3_complete(sql: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_complete16(sql: *const ::std::os::raw::c_void) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_busy_handler(
-        arg1: *mut sqlite3,
-        arg2: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: ::std::os::raw::c_int,
-            ) -> ::std::os::raw::c_int,
-        >,
-        arg3: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_busy_timeout(
-        arg1: *mut sqlite3,
-        ms: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_get_table(
-        db: *mut sqlite3,
-        zSql: *const ::std::os::raw::c_char,
-        pazResult: *mut *mut *mut ::std::os::raw::c_char,
-        pnRow: *mut ::std::os::raw::c_int,
-        pnColumn: *mut ::std::os::raw::c_int,
-        pzErrmsg: *mut *mut ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_free_table(result: *mut *mut ::std::os::raw::c_char);
-}
-extern "C" {
-    pub fn sqlite3_mprintf(arg1: *const ::std::os::raw::c_char, ...)
-        -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_snprintf(
-        arg1: ::std::os::raw::c_int,
-        arg2: *mut ::std::os::raw::c_char,
-        arg3: *const ::std::os::raw::c_char,
-        ...
-    ) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_malloc(arg1: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_malloc64(arg1: sqlite3_uint64) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_realloc(
-        arg1: *mut ::std::os::raw::c_void,
-        arg2: ::std::os::raw::c_int,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_realloc64(
-        arg1: *mut ::std::os::raw::c_void,
-        arg2: sqlite3_uint64,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_free(arg1: *mut ::std::os::raw::c_void);
-}
-extern "C" {
-    pub fn sqlite3_msize(arg1: *mut ::std::os::raw::c_void) -> sqlite3_uint64;
-}
-extern "C" {
-    pub fn sqlite3_memory_used() -> sqlite3_int64;
-}
-extern "C" {
-    pub fn sqlite3_memory_highwater(resetFlag: ::std::os::raw::c_int) -> sqlite3_int64;
-}
-extern "C" {
-    pub fn sqlite3_randomness(N: ::std::os::raw::c_int, P: *mut ::std::os::raw::c_void);
-}
-extern "C" {
-    pub fn sqlite3_set_authorizer(
-        arg1: *mut sqlite3,
-        xAuth: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: ::std::os::raw::c_int,
-                arg3: *const ::std::os::raw::c_char,
-                arg4: *const ::std::os::raw::c_char,
-                arg5: *const ::std::os::raw::c_char,
-                arg6: *const ::std::os::raw::c_char,
-            ) -> ::std::os::raw::c_int,
-        >,
-        pUserData: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_trace(
-        arg1: *mut sqlite3,
-        xTrace: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: *const ::std::os::raw::c_char,
-            ),
-        >,
-        arg2: *mut ::std::os::raw::c_void,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_profile(
-        arg1: *mut sqlite3,
-        xProfile: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: *const ::std::os::raw::c_char,
-                arg3: sqlite3_uint64,
-            ),
-        >,
-        arg2: *mut ::std::os::raw::c_void,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_trace_v2(
-        arg1: *mut sqlite3,
-        uMask: ::std::os::raw::c_uint,
-        xCallback: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: ::std::os::raw::c_uint,
-                arg2: *mut ::std::os::raw::c_void,
-                arg3: *mut ::std::os::raw::c_void,
-                arg4: *mut ::std::os::raw::c_void,
-            ) -> ::std::os::raw::c_int,
-        >,
-        pCtx: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_progress_handler(
-        arg1: *mut sqlite3,
-        arg2: ::std::os::raw::c_int,
-        arg3: ::std::option::Option<
-            unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
-        >,
-        arg4: *mut ::std::os::raw::c_void,
-    );
-}
-extern "C" {
-    pub fn sqlite3_open(
-        filename: *const ::std::os::raw::c_char,
-        ppDb: *mut *mut sqlite3,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_open16(
-        filename: *const ::std::os::raw::c_void,
-        ppDb: *mut *mut sqlite3,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_open_v2(
-        filename: *const ::std::os::raw::c_char,
-        ppDb: *mut *mut sqlite3,
-        flags: ::std::os::raw::c_int,
-        zVfs: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_uri_parameter(
-        zFilename: *const ::std::os::raw::c_char,
-        zParam: *const ::std::os::raw::c_char,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_uri_boolean(
-        zFile: *const ::std::os::raw::c_char,
-        zParam: *const ::std::os::raw::c_char,
-        bDefault: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_uri_int64(
-        arg1: *const ::std::os::raw::c_char,
-        arg2: *const ::std::os::raw::c_char,
-        arg3: sqlite3_int64,
-    ) -> sqlite3_int64;
-}
-extern "C" {
-    pub fn sqlite3_uri_key(
-        zFilename: *const ::std::os::raw::c_char,
-        N: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_filename_database(
-        arg1: *const ::std::os::raw::c_char,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_filename_journal(
-        arg1: *const ::std::os::raw::c_char,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_filename_wal(
-        arg1: *const ::std::os::raw::c_char,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_database_file_object(arg1: *const ::std::os::raw::c_char) -> *mut sqlite3_file;
-}
-extern "C" {
-    pub fn sqlite3_create_filename(
-        zDatabase: *const ::std::os::raw::c_char,
-        zJournal: *const ::std::os::raw::c_char,
-        zWal: *const ::std::os::raw::c_char,
-        nParam: ::std::os::raw::c_int,
-        azParam: *mut *const ::std::os::raw::c_char,
-    ) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_free_filename(arg1: *mut ::std::os::raw::c_char);
-}
-extern "C" {
-    pub fn sqlite3_errcode(db: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_extended_errcode(db: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_errmsg(arg1: *mut sqlite3) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_errmsg16(arg1: *mut sqlite3) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_errstr(arg1: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_stmt {
-    _unused: [u8; 0],
-}
-extern "C" {
-    pub fn sqlite3_limit(
-        arg1: *mut sqlite3,
-        id: ::std::os::raw::c_int,
-        newVal: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_prepare(
-        db: *mut sqlite3,
-        zSql: *const ::std::os::raw::c_char,
-        nByte: ::std::os::raw::c_int,
-        ppStmt: *mut *mut sqlite3_stmt,
-        pzTail: *mut *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_prepare_v2(
-        db: *mut sqlite3,
-        zSql: *const ::std::os::raw::c_char,
-        nByte: ::std::os::raw::c_int,
-        ppStmt: *mut *mut sqlite3_stmt,
-        pzTail: *mut *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_prepare_v3(
-        db: *mut sqlite3,
-        zSql: *const ::std::os::raw::c_char,
-        nByte: ::std::os::raw::c_int,
-        prepFlags: ::std::os::raw::c_uint,
-        ppStmt: *mut *mut sqlite3_stmt,
-        pzTail: *mut *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_prepare16(
-        db: *mut sqlite3,
-        zSql: *const ::std::os::raw::c_void,
-        nByte: ::std::os::raw::c_int,
-        ppStmt: *mut *mut sqlite3_stmt,
-        pzTail: *mut *const ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_prepare16_v2(
-        db: *mut sqlite3,
-        zSql: *const ::std::os::raw::c_void,
-        nByte: ::std::os::raw::c_int,
-        ppStmt: *mut *mut sqlite3_stmt,
-        pzTail: *mut *const ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_prepare16_v3(
-        db: *mut sqlite3,
-        zSql: *const ::std::os::raw::c_void,
-        nByte: ::std::os::raw::c_int,
-        prepFlags: ::std::os::raw::c_uint,
-        ppStmt: *mut *mut sqlite3_stmt,
-        pzTail: *mut *const ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_sql(pStmt: *mut sqlite3_stmt) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_expanded_sql(pStmt: *mut sqlite3_stmt) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_normalized_sql(pStmt: *mut sqlite3_stmt) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_stmt_readonly(pStmt: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_stmt_isexplain(pStmt: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_stmt_busy(arg1: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_value {
-    _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_context {
-    _unused: [u8; 0],
-}
-extern "C" {
-    pub fn sqlite3_bind_blob(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: *const ::std::os::raw::c_void,
-        n: ::std::os::raw::c_int,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_blob64(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: *const ::std::os::raw::c_void,
-        arg4: sqlite3_uint64,
-        arg5: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_double(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: f64,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_int(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_int64(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: sqlite3_int64,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_null(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_text(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: *const ::std::os::raw::c_char,
-        arg4: ::std::os::raw::c_int,
-        arg5: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_text16(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: *const ::std::os::raw::c_void,
-        arg4: ::std::os::raw::c_int,
-        arg5: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_text64(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: *const ::std::os::raw::c_char,
-        arg4: sqlite3_uint64,
-        arg5: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-        encoding: ::std::os::raw::c_uchar,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_value(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: *const sqlite3_value,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_pointer(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: *mut ::std::os::raw::c_void,
-        arg4: *const ::std::os::raw::c_char,
-        arg5: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_zeroblob(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        n: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_zeroblob64(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: sqlite3_uint64,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_parameter_count(arg1: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_parameter_name(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_bind_parameter_index(
-        arg1: *mut sqlite3_stmt,
-        zName: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_clear_bindings(arg1: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_column_count(pStmt: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_column_name(
-        arg1: *mut sqlite3_stmt,
-        N: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_column_name16(
-        arg1: *mut sqlite3_stmt,
-        N: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_column_database_name(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_column_database_name16(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_column_table_name(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_column_table_name16(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_column_origin_name(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_column_origin_name16(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_column_decltype(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_column_decltype16(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_step(arg1: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_data_count(pStmt: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_column_blob(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_column_double(arg1: *mut sqlite3_stmt, iCol: ::std::os::raw::c_int) -> f64;
-}
-extern "C" {
-    pub fn sqlite3_column_int(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_column_int64(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> sqlite3_int64;
-}
-extern "C" {
-    pub fn sqlite3_column_text(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_uchar;
-}
-extern "C" {
-    pub fn sqlite3_column_text16(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_column_value(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> *mut sqlite3_value;
-}
-extern "C" {
-    pub fn sqlite3_column_bytes(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_column_bytes16(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_column_type(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_finalize(pStmt: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_reset(pStmt: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_create_function(
-        db: *mut sqlite3,
-        zFunctionName: *const ::std::os::raw::c_char,
-        nArg: ::std::os::raw::c_int,
-        eTextRep: ::std::os::raw::c_int,
-        pApp: *mut ::std::os::raw::c_void,
-        xFunc: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_context,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut sqlite3_value,
-            ),
-        >,
-        xStep: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_context,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut sqlite3_value,
-            ),
-        >,
-        xFinal: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_context)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_create_function16(
-        db: *mut sqlite3,
-        zFunctionName: *const ::std::os::raw::c_void,
-        nArg: ::std::os::raw::c_int,
-        eTextRep: ::std::os::raw::c_int,
-        pApp: *mut ::std::os::raw::c_void,
-        xFunc: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_context,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut sqlite3_value,
-            ),
-        >,
-        xStep: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_context,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut sqlite3_value,
-            ),
-        >,
-        xFinal: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_context)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_create_function_v2(
-        db: *mut sqlite3,
-        zFunctionName: *const ::std::os::raw::c_char,
-        nArg: ::std::os::raw::c_int,
-        eTextRep: ::std::os::raw::c_int,
-        pApp: *mut ::std::os::raw::c_void,
-        xFunc: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_context,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut sqlite3_value,
-            ),
-        >,
-        xStep: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_context,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut sqlite3_value,
-            ),
-        >,
-        xFinal: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_context)>,
-        xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_create_window_function(
-        db: *mut sqlite3,
-        zFunctionName: *const ::std::os::raw::c_char,
-        nArg: ::std::os::raw::c_int,
-        eTextRep: ::std::os::raw::c_int,
-        pApp: *mut ::std::os::raw::c_void,
-        xStep: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_context,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut sqlite3_value,
-            ),
-        >,
-        xFinal: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_context)>,
-        xValue: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_context)>,
-        xInverse: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_context,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut sqlite3_value,
-            ),
-        >,
-        xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_aggregate_count(arg1: *mut sqlite3_context) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_expired(arg1: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_transfer_bindings(
-        arg1: *mut sqlite3_stmt,
-        arg2: *mut sqlite3_stmt,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_global_recover() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_thread_cleanup();
-}
-extern "C" {
-    pub fn sqlite3_memory_alarm(
-        arg1: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: sqlite3_int64,
-                arg3: ::std::os::raw::c_int,
-            ),
-        >,
-        arg2: *mut ::std::os::raw::c_void,
-        arg3: sqlite3_int64,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_value_blob(arg1: *mut sqlite3_value) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_value_double(arg1: *mut sqlite3_value) -> f64;
-}
-extern "C" {
-    pub fn sqlite3_value_int(arg1: *mut sqlite3_value) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_value_int64(arg1: *mut sqlite3_value) -> sqlite3_int64;
-}
-extern "C" {
-    pub fn sqlite3_value_pointer(
-        arg1: *mut sqlite3_value,
-        arg2: *const ::std::os::raw::c_char,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_value_text(arg1: *mut sqlite3_value) -> *const ::std::os::raw::c_uchar;
-}
-extern "C" {
-    pub fn sqlite3_value_text16(arg1: *mut sqlite3_value) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_value_text16le(arg1: *mut sqlite3_value) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_value_text16be(arg1: *mut sqlite3_value) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_value_bytes(arg1: *mut sqlite3_value) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_value_bytes16(arg1: *mut sqlite3_value) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_value_type(arg1: *mut sqlite3_value) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_value_numeric_type(arg1: *mut sqlite3_value) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_value_nochange(arg1: *mut sqlite3_value) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_value_frombind(arg1: *mut sqlite3_value) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_value_subtype(arg1: *mut sqlite3_value) -> ::std::os::raw::c_uint;
-}
-extern "C" {
-    pub fn sqlite3_value_dup(arg1: *const sqlite3_value) -> *mut sqlite3_value;
-}
-extern "C" {
-    pub fn sqlite3_value_free(arg1: *mut sqlite3_value);
-}
-extern "C" {
-    pub fn sqlite3_aggregate_context(
-        arg1: *mut sqlite3_context,
-        nBytes: ::std::os::raw::c_int,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_user_data(arg1: *mut sqlite3_context) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_context_db_handle(arg1: *mut sqlite3_context) -> *mut sqlite3;
-}
-extern "C" {
-    pub fn sqlite3_get_auxdata(
-        arg1: *mut sqlite3_context,
-        N: ::std::os::raw::c_int,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_set_auxdata(
-        arg1: *mut sqlite3_context,
-        N: ::std::os::raw::c_int,
-        arg2: *mut ::std::os::raw::c_void,
-        arg3: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    );
-}
-pub type sqlite3_destructor_type =
-    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>;
-extern "C" {
-    pub fn sqlite3_result_blob(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_void,
-        arg3: ::std::os::raw::c_int,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_blob64(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_void,
-        arg3: sqlite3_uint64,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_double(arg1: *mut sqlite3_context, arg2: f64);
-}
-extern "C" {
-    pub fn sqlite3_result_error(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_char,
-        arg3: ::std::os::raw::c_int,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_error16(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_void,
-        arg3: ::std::os::raw::c_int,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_error_toobig(arg1: *mut sqlite3_context);
-}
-extern "C" {
-    pub fn sqlite3_result_error_nomem(arg1: *mut sqlite3_context);
-}
-extern "C" {
-    pub fn sqlite3_result_error_code(arg1: *mut sqlite3_context, arg2: ::std::os::raw::c_int);
-}
-extern "C" {
-    pub fn sqlite3_result_int(arg1: *mut sqlite3_context, arg2: ::std::os::raw::c_int);
-}
-extern "C" {
-    pub fn sqlite3_result_int64(arg1: *mut sqlite3_context, arg2: sqlite3_int64);
-}
-extern "C" {
-    pub fn sqlite3_result_null(arg1: *mut sqlite3_context);
-}
-extern "C" {
-    pub fn sqlite3_result_text(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_char,
-        arg3: ::std::os::raw::c_int,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_text64(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_char,
-        arg3: sqlite3_uint64,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-        encoding: ::std::os::raw::c_uchar,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_text16(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_void,
-        arg3: ::std::os::raw::c_int,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_text16le(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_void,
-        arg3: ::std::os::raw::c_int,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_text16be(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_void,
-        arg3: ::std::os::raw::c_int,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_value(arg1: *mut sqlite3_context, arg2: *mut sqlite3_value);
-}
-extern "C" {
-    pub fn sqlite3_result_pointer(
-        arg1: *mut sqlite3_context,
-        arg2: *mut ::std::os::raw::c_void,
-        arg3: *const ::std::os::raw::c_char,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_zeroblob(arg1: *mut sqlite3_context, n: ::std::os::raw::c_int);
-}
-extern "C" {
-    pub fn sqlite3_result_zeroblob64(
-        arg1: *mut sqlite3_context,
-        n: sqlite3_uint64,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_result_subtype(arg1: *mut sqlite3_context, arg2: ::std::os::raw::c_uint);
-}
-extern "C" {
-    pub fn sqlite3_create_collation(
-        arg1: *mut sqlite3,
-        zName: *const ::std::os::raw::c_char,
-        eTextRep: ::std::os::raw::c_int,
-        pArg: *mut ::std::os::raw::c_void,
-        xCompare: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: ::std::os::raw::c_int,
-                arg3: *const ::std::os::raw::c_void,
-                arg4: ::std::os::raw::c_int,
-                arg5: *const ::std::os::raw::c_void,
-            ) -> ::std::os::raw::c_int,
-        >,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_create_collation_v2(
-        arg1: *mut sqlite3,
-        zName: *const ::std::os::raw::c_char,
-        eTextRep: ::std::os::raw::c_int,
-        pArg: *mut ::std::os::raw::c_void,
-        xCompare: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: ::std::os::raw::c_int,
-                arg3: *const ::std::os::raw::c_void,
-                arg4: ::std::os::raw::c_int,
-                arg5: *const ::std::os::raw::c_void,
-            ) -> ::std::os::raw::c_int,
-        >,
-        xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_create_collation16(
-        arg1: *mut sqlite3,
-        zName: *const ::std::os::raw::c_void,
-        eTextRep: ::std::os::raw::c_int,
-        pArg: *mut ::std::os::raw::c_void,
-        xCompare: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: ::std::os::raw::c_int,
-                arg3: *const ::std::os::raw::c_void,
-                arg4: ::std::os::raw::c_int,
-                arg5: *const ::std::os::raw::c_void,
-            ) -> ::std::os::raw::c_int,
-        >,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_collation_needed(
-        arg1: *mut sqlite3,
-        arg2: *mut ::std::os::raw::c_void,
-        arg3: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: *mut sqlite3,
-                eTextRep: ::std::os::raw::c_int,
-                arg3: *const ::std::os::raw::c_char,
-            ),
-        >,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_collation_needed16(
-        arg1: *mut sqlite3,
-        arg2: *mut ::std::os::raw::c_void,
-        arg3: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: *mut sqlite3,
-                eTextRep: ::std::os::raw::c_int,
-                arg3: *const ::std::os::raw::c_void,
-            ),
-        >,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_sleep(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub static mut sqlite3_temp_directory: *mut ::std::os::raw::c_char;
-}
-extern "C" {
-    pub static mut sqlite3_data_directory: *mut ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_win32_set_directory(
-        type_: ::std::os::raw::c_ulong,
-        zValue: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_win32_set_directory8(
-        type_: ::std::os::raw::c_ulong,
-        zValue: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_win32_set_directory16(
-        type_: ::std::os::raw::c_ulong,
-        zValue: *const ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_get_autocommit(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_db_handle(arg1: *mut sqlite3_stmt) -> *mut sqlite3;
-}
-extern "C" {
-    pub fn sqlite3_db_filename(
-        db: *mut sqlite3,
-        zDbName: *const ::std::os::raw::c_char,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_db_readonly(
-        db: *mut sqlite3,
-        zDbName: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_next_stmt(pDb: *mut sqlite3, pStmt: *mut sqlite3_stmt) -> *mut sqlite3_stmt;
-}
-extern "C" {
-    pub fn sqlite3_commit_hook(
-        arg1: *mut sqlite3,
-        arg2: ::std::option::Option<
-            unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
-        >,
-        arg3: *mut ::std::os::raw::c_void,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_rollback_hook(
-        arg1: *mut sqlite3,
-        arg2: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-        arg3: *mut ::std::os::raw::c_void,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_update_hook(
-        arg1: *mut sqlite3,
-        arg2: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: ::std::os::raw::c_int,
-                arg3: *const ::std::os::raw::c_char,
-                arg4: *const ::std::os::raw::c_char,
-                arg5: sqlite3_int64,
-            ),
-        >,
-        arg3: *mut ::std::os::raw::c_void,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_enable_shared_cache(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_release_memory(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_db_release_memory(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_soft_heap_limit64(N: sqlite3_int64) -> sqlite3_int64;
-}
-extern "C" {
-    pub fn sqlite3_hard_heap_limit64(N: sqlite3_int64) -> sqlite3_int64;
-}
-extern "C" {
-    pub fn sqlite3_soft_heap_limit(N: ::std::os::raw::c_int);
-}
-extern "C" {
-    pub fn sqlite3_table_column_metadata(
-        db: *mut sqlite3,
-        zDbName: *const ::std::os::raw::c_char,
-        zTableName: *const ::std::os::raw::c_char,
-        zColumnName: *const ::std::os::raw::c_char,
-        pzDataType: *mut *const ::std::os::raw::c_char,
-        pzCollSeq: *mut *const ::std::os::raw::c_char,
-        pNotNull: *mut ::std::os::raw::c_int,
-        pPrimaryKey: *mut ::std::os::raw::c_int,
-        pAutoinc: *mut ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_load_extension(
-        db: *mut sqlite3,
-        zFile: *const ::std::os::raw::c_char,
-        zProc: *const ::std::os::raw::c_char,
-        pzErrMsg: *mut *mut ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_enable_load_extension(
-        db: *mut sqlite3,
-        onoff: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_auto_extension(
-        xEntryPoint: ::std::option::Option<unsafe extern "C" fn()>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_cancel_auto_extension(
-        xEntryPoint: ::std::option::Option<unsafe extern "C" fn()>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_reset_auto_extension();
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_module {
-    pub iVersion: ::std::os::raw::c_int,
-    pub xCreate: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3,
-            pAux: *mut ::std::os::raw::c_void,
-            argc: ::std::os::raw::c_int,
-            argv: *const *const ::std::os::raw::c_char,
-            ppVTab: *mut *mut sqlite3_vtab,
-            arg2: *mut *mut ::std::os::raw::c_char,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xConnect: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3,
-            pAux: *mut ::std::os::raw::c_void,
-            argc: ::std::os::raw::c_int,
-            argv: *const *const ::std::os::raw::c_char,
-            ppVTab: *mut *mut sqlite3_vtab,
-            arg2: *mut *mut ::std::os::raw::c_char,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xBestIndex: ::std::option::Option<
-        unsafe extern "C" fn(
-            pVTab: *mut sqlite3_vtab,
-            arg1: *mut sqlite3_index_info,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xDisconnect: ::std::option::Option<
-        unsafe extern "C" fn(pVTab: *mut sqlite3_vtab) -> ::std::os::raw::c_int,
-    >,
-    pub xDestroy: ::std::option::Option<
-        unsafe extern "C" fn(pVTab: *mut sqlite3_vtab) -> ::std::os::raw::c_int,
-    >,
-    pub xOpen: ::std::option::Option<
-        unsafe extern "C" fn(
-            pVTab: *mut sqlite3_vtab,
-            ppCursor: *mut *mut sqlite3_vtab_cursor,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xClose: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_vtab_cursor) -> ::std::os::raw::c_int,
-    >,
-    pub xFilter: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vtab_cursor,
-            idxNum: ::std::os::raw::c_int,
-            idxStr: *const ::std::os::raw::c_char,
-            argc: ::std::os::raw::c_int,
-            argv: *mut *mut sqlite3_value,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xNext: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_vtab_cursor) -> ::std::os::raw::c_int,
-    >,
-    pub xEof: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_vtab_cursor) -> ::std::os::raw::c_int,
-    >,
-    pub xColumn: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vtab_cursor,
-            arg2: *mut sqlite3_context,
-            arg3: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xRowid: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vtab_cursor,
-            pRowid: *mut sqlite3_int64,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xUpdate: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vtab,
-            arg2: ::std::os::raw::c_int,
-            arg3: *mut *mut sqlite3_value,
-            arg4: *mut sqlite3_int64,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xBegin: ::std::option::Option<
-        unsafe extern "C" fn(pVTab: *mut sqlite3_vtab) -> ::std::os::raw::c_int,
-    >,
-    pub xSync: ::std::option::Option<
-        unsafe extern "C" fn(pVTab: *mut sqlite3_vtab) -> ::std::os::raw::c_int,
-    >,
-    pub xCommit: ::std::option::Option<
-        unsafe extern "C" fn(pVTab: *mut sqlite3_vtab) -> ::std::os::raw::c_int,
-    >,
-    pub xRollback: ::std::option::Option<
-        unsafe extern "C" fn(pVTab: *mut sqlite3_vtab) -> ::std::os::raw::c_int,
-    >,
-    pub xFindFunction: ::std::option::Option<
-        unsafe extern "C" fn(
-            pVtab: *mut sqlite3_vtab,
-            nArg: ::std::os::raw::c_int,
-            zName: *const ::std::os::raw::c_char,
-            pxFunc: *mut ::std::option::Option<
-                unsafe extern "C" fn(
-                    arg1: *mut sqlite3_context,
-                    arg2: ::std::os::raw::c_int,
-                    arg3: *mut *mut sqlite3_value,
-                ),
-            >,
-            ppArg: *mut *mut ::std::os::raw::c_void,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xRename: ::std::option::Option<
-        unsafe extern "C" fn(
-            pVtab: *mut sqlite3_vtab,
-            zNew: *const ::std::os::raw::c_char,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xSavepoint: ::std::option::Option<
-        unsafe extern "C" fn(
-            pVTab: *mut sqlite3_vtab,
-            arg1: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xRelease: ::std::option::Option<
-        unsafe extern "C" fn(
-            pVTab: *mut sqlite3_vtab,
-            arg1: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xRollbackTo: ::std::option::Option<
-        unsafe extern "C" fn(
-            pVTab: *mut sqlite3_vtab,
-            arg1: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xShadowName: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int,
-    >,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_module() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_module>(),
-        192usize,
-        concat!("Size of: ", stringify!(sqlite3_module))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_module>(),
-        8usize,
-        concat!("Alignment of ", stringify!(sqlite3_module))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).iVersion as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(iVersion)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xCreate as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xCreate)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xConnect as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xConnect)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xBestIndex as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xBestIndex)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xDisconnect as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xDisconnect)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xDestroy as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xDestroy)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xOpen as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xOpen)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xClose as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xClose)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xFilter as *const _ as usize },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xFilter)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xNext as *const _ as usize },
-        72usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xNext)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xEof as *const _ as usize },
-        80usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xEof)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xColumn as *const _ as usize },
-        88usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xColumn)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xRowid as *const _ as usize },
-        96usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xRowid)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xUpdate as *const _ as usize },
-        104usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xUpdate)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xBegin as *const _ as usize },
-        112usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xBegin)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xSync as *const _ as usize },
-        120usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xSync)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xCommit as *const _ as usize },
-        128usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xCommit)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xRollback as *const _ as usize },
-        136usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xRollback)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xFindFunction as *const _ as usize },
-        144usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xFindFunction)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xRename as *const _ as usize },
-        152usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xRename)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xSavepoint as *const _ as usize },
-        160usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xSavepoint)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xRelease as *const _ as usize },
-        168usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xRelease)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xRollbackTo as *const _ as usize },
-        176usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xRollbackTo)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xShadowName as *const _ as usize },
-        184usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xShadowName)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_index_info {
-    pub nConstraint: ::std::os::raw::c_int,
-    pub aConstraint: *mut sqlite3_index_info_sqlite3_index_constraint,
-    pub nOrderBy: ::std::os::raw::c_int,
-    pub aOrderBy: *mut sqlite3_index_info_sqlite3_index_orderby,
-    pub aConstraintUsage: *mut sqlite3_index_info_sqlite3_index_constraint_usage,
-    pub idxNum: ::std::os::raw::c_int,
-    pub idxStr: *mut ::std::os::raw::c_char,
-    pub needToFreeIdxStr: ::std::os::raw::c_int,
-    pub orderByConsumed: ::std::os::raw::c_int,
-    pub estimatedCost: f64,
-    pub estimatedRows: sqlite3_int64,
-    pub idxFlags: ::std::os::raw::c_int,
-    pub colUsed: sqlite3_uint64,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_index_info_sqlite3_index_constraint {
-    pub iColumn: ::std::os::raw::c_int,
-    pub op: ::std::os::raw::c_uchar,
-    pub usable: ::std::os::raw::c_uchar,
-    pub iTermOffset: ::std::os::raw::c_int,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_index_info_sqlite3_index_constraint() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_index_info_sqlite3_index_constraint>(),
-        12usize,
-        concat!(
-            "Size of: ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint)
-        )
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_index_info_sqlite3_index_constraint>(),
-        4usize,
-        concat!(
-            "Alignment of ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info_sqlite3_index_constraint>())).iColumn
-                as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint),
-            "::",
-            stringify!(iColumn)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info_sqlite3_index_constraint>())).op as *const _
-                as usize
-        },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint),
-            "::",
-            stringify!(op)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info_sqlite3_index_constraint>())).usable
-                as *const _ as usize
-        },
-        5usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint),
-            "::",
-            stringify!(usable)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info_sqlite3_index_constraint>())).iTermOffset
-                as *const _ as usize
-        },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint),
-            "::",
-            stringify!(iTermOffset)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_index_info_sqlite3_index_orderby {
-    pub iColumn: ::std::os::raw::c_int,
-    pub desc: ::std::os::raw::c_uchar,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_index_info_sqlite3_index_orderby() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_index_info_sqlite3_index_orderby>(),
-        8usize,
-        concat!(
-            "Size of: ",
-            stringify!(sqlite3_index_info_sqlite3_index_orderby)
-        )
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_index_info_sqlite3_index_orderby>(),
-        4usize,
-        concat!(
-            "Alignment of ",
-            stringify!(sqlite3_index_info_sqlite3_index_orderby)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info_sqlite3_index_orderby>())).iColumn as *const _
-                as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info_sqlite3_index_orderby),
-            "::",
-            stringify!(iColumn)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info_sqlite3_index_orderby>())).desc as *const _
-                as usize
-        },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info_sqlite3_index_orderby),
-            "::",
-            stringify!(desc)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_index_info_sqlite3_index_constraint_usage {
-    pub argvIndex: ::std::os::raw::c_int,
-    pub omit: ::std::os::raw::c_uchar,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_index_info_sqlite3_index_constraint_usage() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_index_info_sqlite3_index_constraint_usage>(),
-        8usize,
-        concat!(
-            "Size of: ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint_usage)
-        )
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_index_info_sqlite3_index_constraint_usage>(),
-        4usize,
-        concat!(
-            "Alignment of ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint_usage)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info_sqlite3_index_constraint_usage>())).argvIndex
-                as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint_usage),
-            "::",
-            stringify!(argvIndex)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info_sqlite3_index_constraint_usage>())).omit
-                as *const _ as usize
-        },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint_usage),
-            "::",
-            stringify!(omit)
-        )
-    );
-}
-#[test]
-fn bindgen_test_layout_sqlite3_index_info() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_index_info>(),
-        96usize,
-        concat!("Size of: ", stringify!(sqlite3_index_info))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_index_info>(),
-        8usize,
-        concat!("Alignment of ", stringify!(sqlite3_index_info))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_index_info>())).nConstraint as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(nConstraint)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_index_info>())).aConstraint as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(aConstraint)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_index_info>())).nOrderBy as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(nOrderBy)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_index_info>())).aOrderBy as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(aOrderBy)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info>())).aConstraintUsage as *const _ as usize
-        },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(aConstraintUsage)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_index_info>())).idxNum as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(idxNum)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_index_info>())).idxStr as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(idxStr)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info>())).needToFreeIdxStr as *const _ as usize
-        },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(needToFreeIdxStr)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info>())).orderByConsumed as *const _ as usize
-        },
-        60usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(orderByConsumed)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info>())).estimatedCost as *const _ as usize
-        },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(estimatedCost)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info>())).estimatedRows as *const _ as usize
-        },
-        72usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(estimatedRows)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_index_info>())).idxFlags as *const _ as usize },
-        80usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(idxFlags)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_index_info>())).colUsed as *const _ as usize },
-        88usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(colUsed)
-        )
-    );
-}
-extern "C" {
-    pub fn sqlite3_create_module(
-        db: *mut sqlite3,
-        zName: *const ::std::os::raw::c_char,
-        p: *const sqlite3_module,
-        pClientData: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_create_module_v2(
-        db: *mut sqlite3,
-        zName: *const ::std::os::raw::c_char,
-        p: *const sqlite3_module,
-        pClientData: *mut ::std::os::raw::c_void,
-        xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_drop_modules(
-        db: *mut sqlite3,
-        azKeep: *mut *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_vtab {
-    pub pModule: *const sqlite3_module,
-    pub nRef: ::std::os::raw::c_int,
-    pub zErrMsg: *mut ::std::os::raw::c_char,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_vtab() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_vtab>(),
-        24usize,
-        concat!("Size of: ", stringify!(sqlite3_vtab))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_vtab>(),
-        8usize,
-        concat!("Alignment of ", stringify!(sqlite3_vtab))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vtab>())).pModule as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vtab),
-            "::",
-            stringify!(pModule)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vtab>())).nRef as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vtab),
-            "::",
-            stringify!(nRef)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vtab>())).zErrMsg as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vtab),
-            "::",
-            stringify!(zErrMsg)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_vtab_cursor {
-    pub pVtab: *mut sqlite3_vtab,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_vtab_cursor() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_vtab_cursor>(),
-        8usize,
-        concat!("Size of: ", stringify!(sqlite3_vtab_cursor))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_vtab_cursor>(),
-        8usize,
-        concat!("Alignment of ", stringify!(sqlite3_vtab_cursor))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vtab_cursor>())).pVtab as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vtab_cursor),
-            "::",
-            stringify!(pVtab)
-        )
-    );
-}
-extern "C" {
-    pub fn sqlite3_declare_vtab(
-        arg1: *mut sqlite3,
-        zSQL: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_overload_function(
-        arg1: *mut sqlite3,
-        zFuncName: *const ::std::os::raw::c_char,
-        nArg: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_blob {
-    _unused: [u8; 0],
-}
-extern "C" {
-    pub fn sqlite3_blob_open(
-        arg1: *mut sqlite3,
-        zDb: *const ::std::os::raw::c_char,
-        zTable: *const ::std::os::raw::c_char,
-        zColumn: *const ::std::os::raw::c_char,
-        iRow: sqlite3_int64,
-        flags: ::std::os::raw::c_int,
-        ppBlob: *mut *mut sqlite3_blob,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_blob_reopen(
-        arg1: *mut sqlite3_blob,
-        arg2: sqlite3_int64,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_blob_close(arg1: *mut sqlite3_blob) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_blob_bytes(arg1: *mut sqlite3_blob) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_blob_read(
-        arg1: *mut sqlite3_blob,
-        Z: *mut ::std::os::raw::c_void,
-        N: ::std::os::raw::c_int,
-        iOffset: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_blob_write(
-        arg1: *mut sqlite3_blob,
-        z: *const ::std::os::raw::c_void,
-        n: ::std::os::raw::c_int,
-        iOffset: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_vfs_find(zVfsName: *const ::std::os::raw::c_char) -> *mut sqlite3_vfs;
-}
-extern "C" {
-    pub fn sqlite3_vfs_register(
-        arg1: *mut sqlite3_vfs,
-        makeDflt: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_vfs_unregister(arg1: *mut sqlite3_vfs) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_mutex_alloc(arg1: ::std::os::raw::c_int) -> *mut sqlite3_mutex;
-}
-extern "C" {
-    pub fn sqlite3_mutex_free(arg1: *mut sqlite3_mutex);
-}
-extern "C" {
-    pub fn sqlite3_mutex_enter(arg1: *mut sqlite3_mutex);
-}
-extern "C" {
-    pub fn sqlite3_mutex_try(arg1: *mut sqlite3_mutex) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_mutex_leave(arg1: *mut sqlite3_mutex);
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_mutex_methods {
-    pub xMutexInit: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
-    pub xMutexEnd: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
-    pub xMutexAlloc: ::std::option::Option<
-        unsafe extern "C" fn(arg1: ::std::os::raw::c_int) -> *mut sqlite3_mutex,
-    >,
-    pub xMutexFree: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_mutex)>,
-    pub xMutexEnter: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_mutex)>,
-    pub xMutexTry: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_mutex) -> ::std::os::raw::c_int,
-    >,
-    pub xMutexLeave: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_mutex)>,
-    pub xMutexHeld: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_mutex) -> ::std::os::raw::c_int,
-    >,
-    pub xMutexNotheld: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_mutex) -> ::std::os::raw::c_int,
-    >,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_mutex_methods() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_mutex_methods>(),
-        72usize,
-        concat!("Size of: ", stringify!(sqlite3_mutex_methods))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_mutex_methods>(),
-        8usize,
-        concat!("Alignment of ", stringify!(sqlite3_mutex_methods))
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexInit as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexInit)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexEnd as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexEnd)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexAlloc as *const _ as usize
-        },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexAlloc)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexFree as *const _ as usize
-        },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexFree)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexEnter as *const _ as usize
-        },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexEnter)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexTry as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexTry)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexLeave as *const _ as usize
-        },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexLeave)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexHeld as *const _ as usize
-        },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexHeld)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexNotheld as *const _ as usize
-        },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexNotheld)
-        )
-    );
-}
-extern "C" {
-    pub fn sqlite3_db_mutex(arg1: *mut sqlite3) -> *mut sqlite3_mutex;
-}
-extern "C" {
-    pub fn sqlite3_file_control(
-        arg1: *mut sqlite3,
-        zDbName: *const ::std::os::raw::c_char,
-        op: ::std::os::raw::c_int,
-        arg2: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_test_control(op: ::std::os::raw::c_int, ...) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_keyword_count() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_keyword_name(
-        arg1: ::std::os::raw::c_int,
-        arg2: *mut *const ::std::os::raw::c_char,
-        arg3: *mut ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_keyword_check(
-        arg1: *const ::std::os::raw::c_char,
-        arg2: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_str {
-    _unused: [u8; 0],
-}
-extern "C" {
-    pub fn sqlite3_str_new(arg1: *mut sqlite3) -> *mut sqlite3_str;
-}
-extern "C" {
-    pub fn sqlite3_str_finish(arg1: *mut sqlite3_str) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_str_appendf(arg1: *mut sqlite3_str, zFormat: *const ::std::os::raw::c_char, ...);
-}
-extern "C" {
-    pub fn sqlite3_str_append(
-        arg1: *mut sqlite3_str,
-        zIn: *const ::std::os::raw::c_char,
-        N: ::std::os::raw::c_int,
-    );
-}
-extern "C" {
-    pub fn sqlite3_str_appendall(arg1: *mut sqlite3_str, zIn: *const ::std::os::raw::c_char);
-}
-extern "C" {
-    pub fn sqlite3_str_appendchar(
-        arg1: *mut sqlite3_str,
-        N: ::std::os::raw::c_int,
-        C: ::std::os::raw::c_char,
-    );
-}
-extern "C" {
-    pub fn sqlite3_str_reset(arg1: *mut sqlite3_str);
-}
-extern "C" {
-    pub fn sqlite3_str_errcode(arg1: *mut sqlite3_str) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_str_length(arg1: *mut sqlite3_str) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_str_value(arg1: *mut sqlite3_str) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_status(
-        op: ::std::os::raw::c_int,
-        pCurrent: *mut ::std::os::raw::c_int,
-        pHighwater: *mut ::std::os::raw::c_int,
-        resetFlag: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_status64(
-        op: ::std::os::raw::c_int,
-        pCurrent: *mut sqlite3_int64,
-        pHighwater: *mut sqlite3_int64,
-        resetFlag: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_db_status(
-        arg1: *mut sqlite3,
-        op: ::std::os::raw::c_int,
-        pCur: *mut ::std::os::raw::c_int,
-        pHiwtr: *mut ::std::os::raw::c_int,
-        resetFlg: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_stmt_status(
-        arg1: *mut sqlite3_stmt,
-        op: ::std::os::raw::c_int,
-        resetFlg: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_pcache {
-    _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_pcache_page {
-    pub pBuf: *mut ::std::os::raw::c_void,
-    pub pExtra: *mut ::std::os::raw::c_void,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_pcache_page() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_pcache_page>(),
-        16usize,
-        concat!("Size of: ", stringify!(sqlite3_pcache_page))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_pcache_page>(),
-        8usize,
-        concat!("Alignment of ", stringify!(sqlite3_pcache_page))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_page>())).pBuf as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_page),
-            "::",
-            stringify!(pBuf)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_page>())).pExtra as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_page),
-            "::",
-            stringify!(pExtra)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_pcache_methods2 {
-    pub iVersion: ::std::os::raw::c_int,
-    pub pArg: *mut ::std::os::raw::c_void,
-    pub xInit: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
-    >,
-    pub xShutdown: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    pub xCreate: ::std::option::Option<
-        unsafe extern "C" fn(
-            szPage: ::std::os::raw::c_int,
-            szExtra: ::std::os::raw::c_int,
-            bPurgeable: ::std::os::raw::c_int,
-        ) -> *mut sqlite3_pcache,
-    >,
-    pub xCachesize: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_pcache, nCachesize: ::std::os::raw::c_int),
-    >,
-    pub xPagecount: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_pcache) -> ::std::os::raw::c_int,
-    >,
-    pub xFetch: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_pcache,
-            key: ::std::os::raw::c_uint,
-            createFlag: ::std::os::raw::c_int,
-        ) -> *mut sqlite3_pcache_page,
-    >,
-    pub xUnpin: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_pcache,
-            arg2: *mut sqlite3_pcache_page,
-            discard: ::std::os::raw::c_int,
-        ),
-    >,
-    pub xRekey: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_pcache,
-            arg2: *mut sqlite3_pcache_page,
-            oldKey: ::std::os::raw::c_uint,
-            newKey: ::std::os::raw::c_uint,
-        ),
-    >,
-    pub xTruncate: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_pcache, iLimit: ::std::os::raw::c_uint),
-    >,
-    pub xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_pcache)>,
-    pub xShrink: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_pcache)>,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_pcache_methods2() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_pcache_methods2>(),
-        104usize,
-        concat!("Size of: ", stringify!(sqlite3_pcache_methods2))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_pcache_methods2>(),
-        8usize,
-        concat!("Alignment of ", stringify!(sqlite3_pcache_methods2))
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).iVersion as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(iVersion)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).pArg as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(pArg)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xInit as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xInit)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xShutdown as *const _ as usize
-        },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xShutdown)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xCreate as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xCreate)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xCachesize as *const _ as usize
-        },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xCachesize)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xPagecount as *const _ as usize
-        },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xPagecount)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xFetch as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xFetch)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xUnpin as *const _ as usize },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xUnpin)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xRekey as *const _ as usize },
-        72usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xRekey)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xTruncate as *const _ as usize
-        },
-        80usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xTruncate)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xDestroy as *const _ as usize
-        },
-        88usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xDestroy)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xShrink as *const _ as usize },
-        96usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xShrink)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_pcache_methods {
-    pub pArg: *mut ::std::os::raw::c_void,
-    pub xInit: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
-    >,
-    pub xShutdown: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    pub xCreate: ::std::option::Option<
-        unsafe extern "C" fn(
-            szPage: ::std::os::raw::c_int,
-            bPurgeable: ::std::os::raw::c_int,
-        ) -> *mut sqlite3_pcache,
-    >,
-    pub xCachesize: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_pcache, nCachesize: ::std::os::raw::c_int),
-    >,
-    pub xPagecount: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_pcache) -> ::std::os::raw::c_int,
-    >,
-    pub xFetch: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_pcache,
-            key: ::std::os::raw::c_uint,
-            createFlag: ::std::os::raw::c_int,
-        ) -> *mut ::std::os::raw::c_void,
-    >,
-    pub xUnpin: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_pcache,
-            arg2: *mut ::std::os::raw::c_void,
-            discard: ::std::os::raw::c_int,
-        ),
-    >,
-    pub xRekey: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_pcache,
-            arg2: *mut ::std::os::raw::c_void,
-            oldKey: ::std::os::raw::c_uint,
-            newKey: ::std::os::raw::c_uint,
-        ),
-    >,
-    pub xTruncate: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_pcache, iLimit: ::std::os::raw::c_uint),
-    >,
-    pub xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_pcache)>,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_pcache_methods() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_pcache_methods>(),
-        88usize,
-        concat!("Size of: ", stringify!(sqlite3_pcache_methods))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_pcache_methods>(),
-        8usize,
-        concat!("Alignment of ", stringify!(sqlite3_pcache_methods))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods>())).pArg as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(pArg)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xInit as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xInit)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xShutdown as *const _ as usize
-        },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xShutdown)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xCreate as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xCreate)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xCachesize as *const _ as usize
-        },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xCachesize)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xPagecount as *const _ as usize
-        },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xPagecount)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xFetch as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xFetch)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xUnpin as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xUnpin)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xRekey as *const _ as usize },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xRekey)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xTruncate as *const _ as usize
-        },
-        72usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xTruncate)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xDestroy as *const _ as usize },
-        80usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xDestroy)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_backup {
-    _unused: [u8; 0],
-}
-extern "C" {
-    pub fn sqlite3_backup_init(
-        pDest: *mut sqlite3,
-        zDestName: *const ::std::os::raw::c_char,
-        pSource: *mut sqlite3,
-        zSourceName: *const ::std::os::raw::c_char,
-    ) -> *mut sqlite3_backup;
-}
-extern "C" {
-    pub fn sqlite3_backup_step(
-        p: *mut sqlite3_backup,
-        nPage: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_backup_finish(p: *mut sqlite3_backup) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_backup_remaining(p: *mut sqlite3_backup) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_backup_pagecount(p: *mut sqlite3_backup) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_unlock_notify(
-        pBlocked: *mut sqlite3,
-        xNotify: ::std::option::Option<
-            unsafe extern "C" fn(
-                apArg: *mut *mut ::std::os::raw::c_void,
-                nArg: ::std::os::raw::c_int,
-            ),
-        >,
-        pNotifyArg: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_stricmp(
-        arg1: *const ::std::os::raw::c_char,
-        arg2: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_strnicmp(
-        arg1: *const ::std::os::raw::c_char,
-        arg2: *const ::std::os::raw::c_char,
-        arg3: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_strglob(
-        zGlob: *const ::std::os::raw::c_char,
-        zStr: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_strlike(
-        zGlob: *const ::std::os::raw::c_char,
-        zStr: *const ::std::os::raw::c_char,
-        cEsc: ::std::os::raw::c_uint,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_log(
-        iErrCode: ::std::os::raw::c_int,
-        zFormat: *const ::std::os::raw::c_char,
-        ...
-    );
-}
-extern "C" {
-    pub fn sqlite3_wal_hook(
-        arg1: *mut sqlite3,
-        arg2: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: *mut sqlite3,
-                arg3: *const ::std::os::raw::c_char,
-                arg4: ::std::os::raw::c_int,
-            ) -> ::std::os::raw::c_int,
-        >,
-        arg3: *mut ::std::os::raw::c_void,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_wal_autocheckpoint(
-        db: *mut sqlite3,
-        N: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_wal_checkpoint(
-        db: *mut sqlite3,
-        zDb: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_wal_checkpoint_v2(
-        db: *mut sqlite3,
-        zDb: *const ::std::os::raw::c_char,
-        eMode: ::std::os::raw::c_int,
-        pnLog: *mut ::std::os::raw::c_int,
-        pnCkpt: *mut ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_vtab_config(
-        arg1: *mut sqlite3,
-        op: ::std::os::raw::c_int,
-        ...
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_vtab_on_conflict(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_vtab_nochange(arg1: *mut sqlite3_context) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_vtab_collation(
-        arg1: *mut sqlite3_index_info,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_stmt_scanstatus(
-        pStmt: *mut sqlite3_stmt,
-        idx: ::std::os::raw::c_int,
-        iScanStatusOp: ::std::os::raw::c_int,
-        pOut: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_stmt_scanstatus_reset(arg1: *mut sqlite3_stmt);
-}
-extern "C" {
-    pub fn sqlite3_db_cacheflush(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_system_errno(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct sqlite3_snapshot {
-    pub hidden: [::std::os::raw::c_uchar; 48usize],
-}
-#[test]
-fn bindgen_test_layout_sqlite3_snapshot() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_snapshot>(),
-        48usize,
-        concat!("Size of: ", stringify!(sqlite3_snapshot))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_snapshot>(),
-        1usize,
-        concat!("Alignment of ", stringify!(sqlite3_snapshot))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_snapshot>())).hidden as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_snapshot),
-            "::",
-            stringify!(hidden)
-        )
-    );
-}
-extern "C" {
-    pub fn sqlite3_snapshot_get(
-        db: *mut sqlite3,
-        zSchema: *const ::std::os::raw::c_char,
-        ppSnapshot: *mut *mut sqlite3_snapshot,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_snapshot_open(
-        db: *mut sqlite3,
-        zSchema: *const ::std::os::raw::c_char,
-        pSnapshot: *mut sqlite3_snapshot,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_snapshot_free(arg1: *mut sqlite3_snapshot);
-}
-extern "C" {
-    pub fn sqlite3_snapshot_cmp(
-        p1: *mut sqlite3_snapshot,
-        p2: *mut sqlite3_snapshot,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_snapshot_recover(
-        db: *mut sqlite3,
-        zDb: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_serialize(
-        db: *mut sqlite3,
-        zSchema: *const ::std::os::raw::c_char,
-        piSize: *mut sqlite3_int64,
-        mFlags: ::std::os::raw::c_uint,
-    ) -> *mut ::std::os::raw::c_uchar;
-}
-extern "C" {
-    pub fn sqlite3_deserialize(
-        db: *mut sqlite3,
-        zSchema: *const ::std::os::raw::c_char,
-        pData: *mut ::std::os::raw::c_uchar,
-        szDb: sqlite3_int64,
-        szBuf: sqlite3_int64,
-        mFlags: ::std::os::raw::c_uint,
-    ) -> ::std::os::raw::c_int;
-}
-pub type sqlite3_rtree_dbl = f64;
-extern "C" {
-    pub fn sqlite3_rtree_geometry_callback(
-        db: *mut sqlite3,
-        zGeom: *const ::std::os::raw::c_char,
-        xGeom: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_rtree_geometry,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut sqlite3_rtree_dbl,
-                arg4: *mut ::std::os::raw::c_int,
-            ) -> ::std::os::raw::c_int,
-        >,
-        pContext: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_rtree_geometry {
-    pub pContext: *mut ::std::os::raw::c_void,
-    pub nParam: ::std::os::raw::c_int,
-    pub aParam: *mut sqlite3_rtree_dbl,
-    pub pUser: *mut ::std::os::raw::c_void,
-    pub xDelUser: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_rtree_geometry() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_rtree_geometry>(),
-        40usize,
-        concat!("Size of: ", stringify!(sqlite3_rtree_geometry))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_rtree_geometry>(),
-        8usize,
-        concat!("Alignment of ", stringify!(sqlite3_rtree_geometry))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_geometry>())).pContext as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_geometry),
-            "::",
-            stringify!(pContext)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_geometry>())).nParam as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_geometry),
-            "::",
-            stringify!(nParam)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_geometry>())).aParam as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_geometry),
-            "::",
-            stringify!(aParam)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_geometry>())).pUser as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_geometry),
-            "::",
-            stringify!(pUser)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_geometry>())).xDelUser as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_geometry),
-            "::",
-            stringify!(xDelUser)
-        )
-    );
-}
-extern "C" {
-    pub fn sqlite3_rtree_query_callback(
-        db: *mut sqlite3,
-        zQueryFunc: *const ::std::os::raw::c_char,
-        xQueryFunc: ::std::option::Option<
-            unsafe extern "C" fn(arg1: *mut sqlite3_rtree_query_info) -> ::std::os::raw::c_int,
-        >,
-        pContext: *mut ::std::os::raw::c_void,
-        xDestructor: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_rtree_query_info {
-    pub pContext: *mut ::std::os::raw::c_void,
-    pub nParam: ::std::os::raw::c_int,
-    pub aParam: *mut sqlite3_rtree_dbl,
-    pub pUser: *mut ::std::os::raw::c_void,
-    pub xDelUser: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    pub aCoord: *mut sqlite3_rtree_dbl,
-    pub anQueue: *mut ::std::os::raw::c_uint,
-    pub nCoord: ::std::os::raw::c_int,
-    pub iLevel: ::std::os::raw::c_int,
-    pub mxLevel: ::std::os::raw::c_int,
-    pub iRowid: sqlite3_int64,
-    pub rParentScore: sqlite3_rtree_dbl,
-    pub eParentWithin: ::std::os::raw::c_int,
-    pub eWithin: ::std::os::raw::c_int,
-    pub rScore: sqlite3_rtree_dbl,
-    pub apSqlParam: *mut *mut sqlite3_value,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_rtree_query_info() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_rtree_query_info>(),
-        112usize,
-        concat!("Size of: ", stringify!(sqlite3_rtree_query_info))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_rtree_query_info>(),
-        8usize,
-        concat!("Alignment of ", stringify!(sqlite3_rtree_query_info))
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).pContext as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(pContext)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).nParam as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(nParam)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).aParam as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(aParam)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).pUser as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(pUser)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).xDelUser as *const _ as usize
-        },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(xDelUser)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).aCoord as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(aCoord)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).anQueue as *const _ as usize
-        },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(anQueue)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).nCoord as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(nCoord)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).iLevel as *const _ as usize },
-        60usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(iLevel)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).mxLevel as *const _ as usize
-        },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(mxLevel)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).iRowid as *const _ as usize },
-        72usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(iRowid)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).rParentScore as *const _ as usize
-        },
-        80usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(rParentScore)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).eParentWithin as *const _ as usize
-        },
-        88usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(eParentWithin)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).eWithin as *const _ as usize
-        },
-        92usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(eWithin)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).rScore as *const _ as usize },
-        96usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(rScore)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).apSqlParam as *const _ as usize
-        },
-        104usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(apSqlParam)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct Fts5Context {
-    _unused: [u8; 0],
-}
-pub type fts5_extension_function = ::std::option::Option<
-    unsafe extern "C" fn(
-        pApi: *const Fts5ExtensionApi,
-        pFts: *mut Fts5Context,
-        pCtx: *mut sqlite3_context,
-        nVal: ::std::os::raw::c_int,
-        apVal: *mut *mut sqlite3_value,
-    ),
->;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct Fts5PhraseIter {
-    pub a: *const ::std::os::raw::c_uchar,
-    pub b: *const ::std::os::raw::c_uchar,
-}
-#[test]
-fn bindgen_test_layout_Fts5PhraseIter() {
-    assert_eq!(
-        ::std::mem::size_of::<Fts5PhraseIter>(),
-        16usize,
-        concat!("Size of: ", stringify!(Fts5PhraseIter))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<Fts5PhraseIter>(),
-        8usize,
-        concat!("Alignment of ", stringify!(Fts5PhraseIter))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5PhraseIter>())).a as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5PhraseIter),
-            "::",
-            stringify!(a)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5PhraseIter>())).b as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5PhraseIter),
-            "::",
-            stringify!(b)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct Fts5ExtensionApi {
-    pub iVersion: ::std::os::raw::c_int,
-    pub xUserData: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut Fts5Context) -> *mut ::std::os::raw::c_void,
-    >,
-    pub xColumnCount: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut Fts5Context) -> ::std::os::raw::c_int,
-    >,
-    pub xRowCount: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            pnRow: *mut sqlite3_int64,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xColumnTotalSize: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            iCol: ::std::os::raw::c_int,
-            pnToken: *mut sqlite3_int64,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xTokenize: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            pText: *const ::std::os::raw::c_char,
-            nText: ::std::os::raw::c_int,
-            pCtx: *mut ::std::os::raw::c_void,
-            xToken: ::std::option::Option<
-                unsafe extern "C" fn(
-                    arg1: *mut ::std::os::raw::c_void,
-                    arg2: ::std::os::raw::c_int,
-                    arg3: *const ::std::os::raw::c_char,
-                    arg4: ::std::os::raw::c_int,
-                    arg5: ::std::os::raw::c_int,
-                    arg6: ::std::os::raw::c_int,
-                ) -> ::std::os::raw::c_int,
-            >,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xPhraseCount: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut Fts5Context) -> ::std::os::raw::c_int,
-    >,
-    pub xPhraseSize: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            iPhrase: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xInstCount: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            pnInst: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xInst: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            iIdx: ::std::os::raw::c_int,
-            piPhrase: *mut ::std::os::raw::c_int,
-            piCol: *mut ::std::os::raw::c_int,
-            piOff: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xRowid:
-        ::std::option::Option<unsafe extern "C" fn(arg1: *mut Fts5Context) -> sqlite3_int64>,
-    pub xColumnText: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            iCol: ::std::os::raw::c_int,
-            pz: *mut *const ::std::os::raw::c_char,
-            pn: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xColumnSize: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            iCol: ::std::os::raw::c_int,
-            pnToken: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xQueryPhrase: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            iPhrase: ::std::os::raw::c_int,
-            pUserData: *mut ::std::os::raw::c_void,
-            arg2: ::std::option::Option<
-                unsafe extern "C" fn(
-                    arg1: *const Fts5ExtensionApi,
-                    arg2: *mut Fts5Context,
-                    arg3: *mut ::std::os::raw::c_void,
-                ) -> ::std::os::raw::c_int,
-            >,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xSetAuxdata: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            pAux: *mut ::std::os::raw::c_void,
-            xDelete: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xGetAuxdata: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            bClear: ::std::os::raw::c_int,
-        ) -> *mut ::std::os::raw::c_void,
-    >,
-    pub xPhraseFirst: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            iPhrase: ::std::os::raw::c_int,
-            arg2: *mut Fts5PhraseIter,
-            arg3: *mut ::std::os::raw::c_int,
-            arg4: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xPhraseNext: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            arg2: *mut Fts5PhraseIter,
-            piCol: *mut ::std::os::raw::c_int,
-            piOff: *mut ::std::os::raw::c_int,
-        ),
-    >,
-    pub xPhraseFirstColumn: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            iPhrase: ::std::os::raw::c_int,
-            arg2: *mut Fts5PhraseIter,
-            arg3: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xPhraseNextColumn: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            arg2: *mut Fts5PhraseIter,
-            piCol: *mut ::std::os::raw::c_int,
-        ),
-    >,
-}
-#[test]
-fn bindgen_test_layout_Fts5ExtensionApi() {
-    assert_eq!(
-        ::std::mem::size_of::<Fts5ExtensionApi>(),
-        160usize,
-        concat!("Size of: ", stringify!(Fts5ExtensionApi))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<Fts5ExtensionApi>(),
-        8usize,
-        concat!("Alignment of ", stringify!(Fts5ExtensionApi))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).iVersion as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(iVersion)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xUserData as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xUserData)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xColumnCount as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xColumnCount)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xRowCount as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xRowCount)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<Fts5ExtensionApi>())).xColumnTotalSize as *const _ as usize
-        },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xColumnTotalSize)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xTokenize as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xTokenize)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xPhraseCount as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xPhraseCount)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xPhraseSize as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xPhraseSize)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xInstCount as *const _ as usize },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xInstCount)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xInst as *const _ as usize },
-        72usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xInst)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xRowid as *const _ as usize },
-        80usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xRowid)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xColumnText as *const _ as usize },
-        88usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xColumnText)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xColumnSize as *const _ as usize },
-        96usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xColumnSize)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xQueryPhrase as *const _ as usize },
-        104usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xQueryPhrase)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xSetAuxdata as *const _ as usize },
-        112usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xSetAuxdata)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xGetAuxdata as *const _ as usize },
-        120usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xGetAuxdata)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xPhraseFirst as *const _ as usize },
-        128usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xPhraseFirst)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xPhraseNext as *const _ as usize },
-        136usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xPhraseNext)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<Fts5ExtensionApi>())).xPhraseFirstColumn as *const _ as usize
-        },
-        144usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xPhraseFirstColumn)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<Fts5ExtensionApi>())).xPhraseNextColumn as *const _ as usize
-        },
-        152usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xPhraseNextColumn)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct Fts5Tokenizer {
-    _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct fts5_tokenizer {
-    pub xCreate: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut ::std::os::raw::c_void,
-            azArg: *mut *const ::std::os::raw::c_char,
-            nArg: ::std::os::raw::c_int,
-            ppOut: *mut *mut Fts5Tokenizer,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xDelete: ::std::option::Option<unsafe extern "C" fn(arg1: *mut Fts5Tokenizer)>,
-    pub xTokenize: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Tokenizer,
-            pCtx: *mut ::std::os::raw::c_void,
-            flags: ::std::os::raw::c_int,
-            pText: *const ::std::os::raw::c_char,
-            nText: ::std::os::raw::c_int,
-            xToken: ::std::option::Option<
-                unsafe extern "C" fn(
-                    pCtx: *mut ::std::os::raw::c_void,
-                    tflags: ::std::os::raw::c_int,
-                    pToken: *const ::std::os::raw::c_char,
-                    nToken: ::std::os::raw::c_int,
-                    iStart: ::std::os::raw::c_int,
-                    iEnd: ::std::os::raw::c_int,
-                ) -> ::std::os::raw::c_int,
-            >,
-        ) -> ::std::os::raw::c_int,
-    >,
-}
-#[test]
-fn bindgen_test_layout_fts5_tokenizer() {
-    assert_eq!(
-        ::std::mem::size_of::<fts5_tokenizer>(),
-        24usize,
-        concat!("Size of: ", stringify!(fts5_tokenizer))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<fts5_tokenizer>(),
-        8usize,
-        concat!("Alignment of ", stringify!(fts5_tokenizer))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<fts5_tokenizer>())).xCreate as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(fts5_tokenizer),
-            "::",
-            stringify!(xCreate)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<fts5_tokenizer>())).xDelete as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(fts5_tokenizer),
-            "::",
-            stringify!(xDelete)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<fts5_tokenizer>())).xTokenize as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(fts5_tokenizer),
-            "::",
-            stringify!(xTokenize)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct fts5_api {
-    pub iVersion: ::std::os::raw::c_int,
-    pub xCreateTokenizer: ::std::option::Option<
-        unsafe extern "C" fn(
-            pApi: *mut fts5_api,
-            zName: *const ::std::os::raw::c_char,
-            pContext: *mut ::std::os::raw::c_void,
-            pTokenizer: *mut fts5_tokenizer,
-            xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xFindTokenizer: ::std::option::Option<
-        unsafe extern "C" fn(
-            pApi: *mut fts5_api,
-            zName: *const ::std::os::raw::c_char,
-            ppContext: *mut *mut ::std::os::raw::c_void,
-            pTokenizer: *mut fts5_tokenizer,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xCreateFunction: ::std::option::Option<
-        unsafe extern "C" fn(
-            pApi: *mut fts5_api,
-            zName: *const ::std::os::raw::c_char,
-            pContext: *mut ::std::os::raw::c_void,
-            xFunction: fts5_extension_function,
-            xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-        ) -> ::std::os::raw::c_int,
-    >,
-}
-#[test]
-fn bindgen_test_layout_fts5_api() {
-    assert_eq!(
-        ::std::mem::size_of::<fts5_api>(),
-        32usize,
-        concat!("Size of: ", stringify!(fts5_api))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<fts5_api>(),
-        8usize,
-        concat!("Alignment of ", stringify!(fts5_api))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<fts5_api>())).iVersion as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(fts5_api),
-            "::",
-            stringify!(iVersion)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<fts5_api>())).xCreateTokenizer as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(fts5_api),
-            "::",
-            stringify!(xCreateTokenizer)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<fts5_api>())).xFindTokenizer as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(fts5_api),
-            "::",
-            stringify!(xFindTokenizer)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<fts5_api>())).xCreateFunction as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(fts5_api),
-            "::",
-            stringify!(xCreateFunction)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct __va_list {
-    pub __stack: *mut ::std::os::raw::c_void,
-    pub __gr_top: *mut ::std::os::raw::c_void,
-    pub __vr_top: *mut ::std::os::raw::c_void,
-    pub __gr_offs: ::std::os::raw::c_int,
-    pub __vr_offs: ::std::os::raw::c_int,
-}
-#[test]
-fn bindgen_test_layout___va_list() {
-    assert_eq!(
-        ::std::mem::size_of::<__va_list>(),
-        32usize,
-        concat!("Size of: ", stringify!(__va_list))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<__va_list>(),
-        8usize,
-        concat!("Alignment of ", stringify!(__va_list))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<__va_list>())).__stack as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(__va_list),
-            "::",
-            stringify!(__stack)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<__va_list>())).__gr_top as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(__va_list),
-            "::",
-            stringify!(__gr_top)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<__va_list>())).__vr_top as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(__va_list),
-            "::",
-            stringify!(__vr_top)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<__va_list>())).__gr_offs as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(__va_list),
-            "::",
-            stringify!(__gr_offs)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<__va_list>())).__vr_offs as *const _ as usize },
-        28usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(__va_list),
-            "::",
-            stringify!(__vr_offs)
-        )
-    );
-}
diff --git a/android/bindgen.h b/android/bindgen.h
deleted file mode 100644
index b5e2c60..0000000
--- a/android/bindgen.h
+++ /dev/null
@@ -1 +0,0 @@
-#include "sqlite3.h"
diff --git a/android/build.rs b/android/build.rs
new file mode 100644
index 0000000..bced585
--- /dev/null
+++ b/android/build.rs
@@ -0,0 +1,43 @@
+use bindgen_cmd;
+use bindgen::callbacks::{IntKind, ParseCallbacks};
+
+#[derive(Debug)]
+struct SqliteTypeChooser;
+
+impl ParseCallbacks for SqliteTypeChooser {
+    fn int_macro(&self, _name: &str, value: i64) -> Option<IntKind> {
+        if value >= i32::min_value() as i64 && value <= i32::max_value() as i64 {
+            Some(IntKind::I32)
+        } else {
+            None
+        }
+    }
+}
+
+fn main() {
+    bindgen_cmd::build(|mut builder| {
+        builder = builder
+            .parse_callbacks(Box::new(SqliteTypeChooser))
+            .rustfmt_bindings(true)
+            .blacklist_function("sqlite3_vmprintf")
+            .blacklist_function("sqlite3_vsnprintf")
+            .blacklist_function("sqlite3_str_vappendf")
+            .blacklist_type("va_list")
+            .blacklist_type("__builtin_va_list")
+            .blacklist_type("__gnuc_va_list")
+            .blacklist_type("__va_list_tag")
+            .blacklist_item("__GNUC_VA_LIST");
+ 
+        if cfg!(feature = "unlock_notify") {
+            builder = builder.clang_arg("-DSQLITE_ENABLE_UNLOCK_NOTIFY");
+        }
+        if cfg!(feature = "preupdate_hook") {
+            builder = builder.clang_arg("-DSQLITE_ENABLE_PREUPDATE_HOOK");
+        }
+        if cfg!(feature = "session") {
+            builder = builder.clang_arg("-DSQLITE_ENABLE_SESSION");
+        }
+
+        builder
+    })
+}
diff --git a/android/x86/bindings.rs b/android/x86/bindings.rs
deleted file mode 100644
index 65fb0ba..0000000
--- a/android/x86/bindings.rs
+++ /dev/null
@@ -1,5201 +0,0 @@
-/* automatically generated by rust-bindgen (unknown version) */
-
-pub const SQLITE_VERSION: &'static [u8; 7usize] = b"3.32.2\0";
-pub const SQLITE_VERSION_NUMBER: i32 = 3032002;
-pub const SQLITE_SOURCE_ID: &'static [u8; 85usize] =
-    b"2020-06-04 12:58:43 ec02243ea6ce33b090870ae55ab8aa2534b54d216d45c4aa2fdbb00e86861e8c\0";
-pub const SQLITE_OK: i32 = 0;
-pub const SQLITE_ERROR: i32 = 1;
-pub const SQLITE_INTERNAL: i32 = 2;
-pub const SQLITE_PERM: i32 = 3;
-pub const SQLITE_ABORT: i32 = 4;
-pub const SQLITE_BUSY: i32 = 5;
-pub const SQLITE_LOCKED: i32 = 6;
-pub const SQLITE_NOMEM: i32 = 7;
-pub const SQLITE_READONLY: i32 = 8;
-pub const SQLITE_INTERRUPT: i32 = 9;
-pub const SQLITE_IOERR: i32 = 10;
-pub const SQLITE_CORRUPT: i32 = 11;
-pub const SQLITE_NOTFOUND: i32 = 12;
-pub const SQLITE_FULL: i32 = 13;
-pub const SQLITE_CANTOPEN: i32 = 14;
-pub const SQLITE_PROTOCOL: i32 = 15;
-pub const SQLITE_EMPTY: i32 = 16;
-pub const SQLITE_SCHEMA: i32 = 17;
-pub const SQLITE_TOOBIG: i32 = 18;
-pub const SQLITE_CONSTRAINT: i32 = 19;
-pub const SQLITE_MISMATCH: i32 = 20;
-pub const SQLITE_MISUSE: i32 = 21;
-pub const SQLITE_NOLFS: i32 = 22;
-pub const SQLITE_AUTH: i32 = 23;
-pub const SQLITE_FORMAT: i32 = 24;
-pub const SQLITE_RANGE: i32 = 25;
-pub const SQLITE_NOTADB: i32 = 26;
-pub const SQLITE_NOTICE: i32 = 27;
-pub const SQLITE_WARNING: i32 = 28;
-pub const SQLITE_ROW: i32 = 100;
-pub const SQLITE_DONE: i32 = 101;
-pub const SQLITE_ERROR_MISSING_COLLSEQ: i32 = 257;
-pub const SQLITE_ERROR_RETRY: i32 = 513;
-pub const SQLITE_ERROR_SNAPSHOT: i32 = 769;
-pub const SQLITE_IOERR_READ: i32 = 266;
-pub const SQLITE_IOERR_SHORT_READ: i32 = 522;
-pub const SQLITE_IOERR_WRITE: i32 = 778;
-pub const SQLITE_IOERR_FSYNC: i32 = 1034;
-pub const SQLITE_IOERR_DIR_FSYNC: i32 = 1290;
-pub const SQLITE_IOERR_TRUNCATE: i32 = 1546;
-pub const SQLITE_IOERR_FSTAT: i32 = 1802;
-pub const SQLITE_IOERR_UNLOCK: i32 = 2058;
-pub const SQLITE_IOERR_RDLOCK: i32 = 2314;
-pub const SQLITE_IOERR_DELETE: i32 = 2570;
-pub const SQLITE_IOERR_BLOCKED: i32 = 2826;
-pub const SQLITE_IOERR_NOMEM: i32 = 3082;
-pub const SQLITE_IOERR_ACCESS: i32 = 3338;
-pub const SQLITE_IOERR_CHECKRESERVEDLOCK: i32 = 3594;
-pub const SQLITE_IOERR_LOCK: i32 = 3850;
-pub const SQLITE_IOERR_CLOSE: i32 = 4106;
-pub const SQLITE_IOERR_DIR_CLOSE: i32 = 4362;
-pub const SQLITE_IOERR_SHMOPEN: i32 = 4618;
-pub const SQLITE_IOERR_SHMSIZE: i32 = 4874;
-pub const SQLITE_IOERR_SHMLOCK: i32 = 5130;
-pub const SQLITE_IOERR_SHMMAP: i32 = 5386;
-pub const SQLITE_IOERR_SEEK: i32 = 5642;
-pub const SQLITE_IOERR_DELETE_NOENT: i32 = 5898;
-pub const SQLITE_IOERR_MMAP: i32 = 6154;
-pub const SQLITE_IOERR_GETTEMPPATH: i32 = 6410;
-pub const SQLITE_IOERR_CONVPATH: i32 = 6666;
-pub const SQLITE_IOERR_VNODE: i32 = 6922;
-pub const SQLITE_IOERR_AUTH: i32 = 7178;
-pub const SQLITE_IOERR_BEGIN_ATOMIC: i32 = 7434;
-pub const SQLITE_IOERR_COMMIT_ATOMIC: i32 = 7690;
-pub const SQLITE_IOERR_ROLLBACK_ATOMIC: i32 = 7946;
-pub const SQLITE_IOERR_DATA: i32 = 8202;
-pub const SQLITE_LOCKED_SHAREDCACHE: i32 = 262;
-pub const SQLITE_LOCKED_VTAB: i32 = 518;
-pub const SQLITE_BUSY_RECOVERY: i32 = 261;
-pub const SQLITE_BUSY_SNAPSHOT: i32 = 517;
-pub const SQLITE_BUSY_TIMEOUT: i32 = 773;
-pub const SQLITE_CANTOPEN_NOTEMPDIR: i32 = 270;
-pub const SQLITE_CANTOPEN_ISDIR: i32 = 526;
-pub const SQLITE_CANTOPEN_FULLPATH: i32 = 782;
-pub const SQLITE_CANTOPEN_CONVPATH: i32 = 1038;
-pub const SQLITE_CANTOPEN_DIRTYWAL: i32 = 1294;
-pub const SQLITE_CANTOPEN_SYMLINK: i32 = 1550;
-pub const SQLITE_CORRUPT_VTAB: i32 = 267;
-pub const SQLITE_CORRUPT_SEQUENCE: i32 = 523;
-pub const SQLITE_CORRUPT_INDEX: i32 = 779;
-pub const SQLITE_READONLY_RECOVERY: i32 = 264;
-pub const SQLITE_READONLY_CANTLOCK: i32 = 520;
-pub const SQLITE_READONLY_ROLLBACK: i32 = 776;
-pub const SQLITE_READONLY_DBMOVED: i32 = 1032;
-pub const SQLITE_READONLY_CANTINIT: i32 = 1288;
-pub const SQLITE_READONLY_DIRECTORY: i32 = 1544;
-pub const SQLITE_ABORT_ROLLBACK: i32 = 516;
-pub const SQLITE_CONSTRAINT_CHECK: i32 = 275;
-pub const SQLITE_CONSTRAINT_COMMITHOOK: i32 = 531;
-pub const SQLITE_CONSTRAINT_FOREIGNKEY: i32 = 787;
-pub const SQLITE_CONSTRAINT_FUNCTION: i32 = 1043;
-pub const SQLITE_CONSTRAINT_NOTNULL: i32 = 1299;
-pub const SQLITE_CONSTRAINT_PRIMARYKEY: i32 = 1555;
-pub const SQLITE_CONSTRAINT_TRIGGER: i32 = 1811;
-pub const SQLITE_CONSTRAINT_UNIQUE: i32 = 2067;
-pub const SQLITE_CONSTRAINT_VTAB: i32 = 2323;
-pub const SQLITE_CONSTRAINT_ROWID: i32 = 2579;
-pub const SQLITE_CONSTRAINT_PINNED: i32 = 2835;
-pub const SQLITE_NOTICE_RECOVER_WAL: i32 = 283;
-pub const SQLITE_NOTICE_RECOVER_ROLLBACK: i32 = 539;
-pub const SQLITE_WARNING_AUTOINDEX: i32 = 284;
-pub const SQLITE_AUTH_USER: i32 = 279;
-pub const SQLITE_OK_LOAD_PERMANENTLY: i32 = 256;
-pub const SQLITE_OK_SYMLINK: i32 = 512;
-pub const SQLITE_OPEN_READONLY: i32 = 1;
-pub const SQLITE_OPEN_READWRITE: i32 = 2;
-pub const SQLITE_OPEN_CREATE: i32 = 4;
-pub const SQLITE_OPEN_DELETEONCLOSE: i32 = 8;
-pub const SQLITE_OPEN_EXCLUSIVE: i32 = 16;
-pub const SQLITE_OPEN_AUTOPROXY: i32 = 32;
-pub const SQLITE_OPEN_URI: i32 = 64;
-pub const SQLITE_OPEN_MEMORY: i32 = 128;
-pub const SQLITE_OPEN_MAIN_DB: i32 = 256;
-pub const SQLITE_OPEN_TEMP_DB: i32 = 512;
-pub const SQLITE_OPEN_TRANSIENT_DB: i32 = 1024;
-pub const SQLITE_OPEN_MAIN_JOURNAL: i32 = 2048;
-pub const SQLITE_OPEN_TEMP_JOURNAL: i32 = 4096;
-pub const SQLITE_OPEN_SUBJOURNAL: i32 = 8192;
-pub const SQLITE_OPEN_MASTER_JOURNAL: i32 = 16384;
-pub const SQLITE_OPEN_NOMUTEX: i32 = 32768;
-pub const SQLITE_OPEN_FULLMUTEX: i32 = 65536;
-pub const SQLITE_OPEN_SHAREDCACHE: i32 = 131072;
-pub const SQLITE_OPEN_PRIVATECACHE: i32 = 262144;
-pub const SQLITE_OPEN_WAL: i32 = 524288;
-pub const SQLITE_OPEN_NOFOLLOW: i32 = 16777216;
-pub const SQLITE_IOCAP_ATOMIC: i32 = 1;
-pub const SQLITE_IOCAP_ATOMIC512: i32 = 2;
-pub const SQLITE_IOCAP_ATOMIC1K: i32 = 4;
-pub const SQLITE_IOCAP_ATOMIC2K: i32 = 8;
-pub const SQLITE_IOCAP_ATOMIC4K: i32 = 16;
-pub const SQLITE_IOCAP_ATOMIC8K: i32 = 32;
-pub const SQLITE_IOCAP_ATOMIC16K: i32 = 64;
-pub const SQLITE_IOCAP_ATOMIC32K: i32 = 128;
-pub const SQLITE_IOCAP_ATOMIC64K: i32 = 256;
-pub const SQLITE_IOCAP_SAFE_APPEND: i32 = 512;
-pub const SQLITE_IOCAP_SEQUENTIAL: i32 = 1024;
-pub const SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN: i32 = 2048;
-pub const SQLITE_IOCAP_POWERSAFE_OVERWRITE: i32 = 4096;
-pub const SQLITE_IOCAP_IMMUTABLE: i32 = 8192;
-pub const SQLITE_IOCAP_BATCH_ATOMIC: i32 = 16384;
-pub const SQLITE_LOCK_NONE: i32 = 0;
-pub const SQLITE_LOCK_SHARED: i32 = 1;
-pub const SQLITE_LOCK_RESERVED: i32 = 2;
-pub const SQLITE_LOCK_PENDING: i32 = 3;
-pub const SQLITE_LOCK_EXCLUSIVE: i32 = 4;
-pub const SQLITE_SYNC_NORMAL: i32 = 2;
-pub const SQLITE_SYNC_FULL: i32 = 3;
-pub const SQLITE_SYNC_DATAONLY: i32 = 16;
-pub const SQLITE_FCNTL_LOCKSTATE: i32 = 1;
-pub const SQLITE_FCNTL_GET_LOCKPROXYFILE: i32 = 2;
-pub const SQLITE_FCNTL_SET_LOCKPROXYFILE: i32 = 3;
-pub const SQLITE_FCNTL_LAST_ERRNO: i32 = 4;
-pub const SQLITE_FCNTL_SIZE_HINT: i32 = 5;
-pub const SQLITE_FCNTL_CHUNK_SIZE: i32 = 6;
-pub const SQLITE_FCNTL_FILE_POINTER: i32 = 7;
-pub const SQLITE_FCNTL_SYNC_OMITTED: i32 = 8;
-pub const SQLITE_FCNTL_WIN32_AV_RETRY: i32 = 9;
-pub const SQLITE_FCNTL_PERSIST_WAL: i32 = 10;
-pub const SQLITE_FCNTL_OVERWRITE: i32 = 11;
-pub const SQLITE_FCNTL_VFSNAME: i32 = 12;
-pub const SQLITE_FCNTL_POWERSAFE_OVERWRITE: i32 = 13;
-pub const SQLITE_FCNTL_PRAGMA: i32 = 14;
-pub const SQLITE_FCNTL_BUSYHANDLER: i32 = 15;
-pub const SQLITE_FCNTL_TEMPFILENAME: i32 = 16;
-pub const SQLITE_FCNTL_MMAP_SIZE: i32 = 18;
-pub const SQLITE_FCNTL_TRACE: i32 = 19;
-pub const SQLITE_FCNTL_HAS_MOVED: i32 = 20;
-pub const SQLITE_FCNTL_SYNC: i32 = 21;
-pub const SQLITE_FCNTL_COMMIT_PHASETWO: i32 = 22;
-pub const SQLITE_FCNTL_WIN32_SET_HANDLE: i32 = 23;
-pub const SQLITE_FCNTL_WAL_BLOCK: i32 = 24;
-pub const SQLITE_FCNTL_ZIPVFS: i32 = 25;
-pub const SQLITE_FCNTL_RBU: i32 = 26;
-pub const SQLITE_FCNTL_VFS_POINTER: i32 = 27;
-pub const SQLITE_FCNTL_JOURNAL_POINTER: i32 = 28;
-pub const SQLITE_FCNTL_WIN32_GET_HANDLE: i32 = 29;
-pub const SQLITE_FCNTL_PDB: i32 = 30;
-pub const SQLITE_FCNTL_BEGIN_ATOMIC_WRITE: i32 = 31;
-pub const SQLITE_FCNTL_COMMIT_ATOMIC_WRITE: i32 = 32;
-pub const SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE: i32 = 33;
-pub const SQLITE_FCNTL_LOCK_TIMEOUT: i32 = 34;
-pub const SQLITE_FCNTL_DATA_VERSION: i32 = 35;
-pub const SQLITE_FCNTL_SIZE_LIMIT: i32 = 36;
-pub const SQLITE_FCNTL_CKPT_DONE: i32 = 37;
-pub const SQLITE_FCNTL_RESERVE_BYTES: i32 = 38;
-pub const SQLITE_FCNTL_CKPT_START: i32 = 39;
-pub const SQLITE_GET_LOCKPROXYFILE: i32 = 2;
-pub const SQLITE_SET_LOCKPROXYFILE: i32 = 3;
-pub const SQLITE_LAST_ERRNO: i32 = 4;
-pub const SQLITE_ACCESS_EXISTS: i32 = 0;
-pub const SQLITE_ACCESS_READWRITE: i32 = 1;
-pub const SQLITE_ACCESS_READ: i32 = 2;
-pub const SQLITE_SHM_UNLOCK: i32 = 1;
-pub const SQLITE_SHM_LOCK: i32 = 2;
-pub const SQLITE_SHM_SHARED: i32 = 4;
-pub const SQLITE_SHM_EXCLUSIVE: i32 = 8;
-pub const SQLITE_SHM_NLOCK: i32 = 8;
-pub const SQLITE_CONFIG_SINGLETHREAD: i32 = 1;
-pub const SQLITE_CONFIG_MULTITHREAD: i32 = 2;
-pub const SQLITE_CONFIG_SERIALIZED: i32 = 3;
-pub const SQLITE_CONFIG_MALLOC: i32 = 4;
-pub const SQLITE_CONFIG_GETMALLOC: i32 = 5;
-pub const SQLITE_CONFIG_SCRATCH: i32 = 6;
-pub const SQLITE_CONFIG_PAGECACHE: i32 = 7;
-pub const SQLITE_CONFIG_HEAP: i32 = 8;
-pub const SQLITE_CONFIG_MEMSTATUS: i32 = 9;
-pub const SQLITE_CONFIG_MUTEX: i32 = 10;
-pub const SQLITE_CONFIG_GETMUTEX: i32 = 11;
-pub const SQLITE_CONFIG_LOOKASIDE: i32 = 13;
-pub const SQLITE_CONFIG_PCACHE: i32 = 14;
-pub const SQLITE_CONFIG_GETPCACHE: i32 = 15;
-pub const SQLITE_CONFIG_LOG: i32 = 16;
-pub const SQLITE_CONFIG_URI: i32 = 17;
-pub const SQLITE_CONFIG_PCACHE2: i32 = 18;
-pub const SQLITE_CONFIG_GETPCACHE2: i32 = 19;
-pub const SQLITE_CONFIG_COVERING_INDEX_SCAN: i32 = 20;
-pub const SQLITE_CONFIG_SQLLOG: i32 = 21;
-pub const SQLITE_CONFIG_MMAP_SIZE: i32 = 22;
-pub const SQLITE_CONFIG_WIN32_HEAPSIZE: i32 = 23;
-pub const SQLITE_CONFIG_PCACHE_HDRSZ: i32 = 24;
-pub const SQLITE_CONFIG_PMASZ: i32 = 25;
-pub const SQLITE_CONFIG_STMTJRNL_SPILL: i32 = 26;
-pub const SQLITE_CONFIG_SMALL_MALLOC: i32 = 27;
-pub const SQLITE_CONFIG_SORTERREF_SIZE: i32 = 28;
-pub const SQLITE_CONFIG_MEMDB_MAXSIZE: i32 = 29;
-pub const SQLITE_DBCONFIG_MAINDBNAME: i32 = 1000;
-pub const SQLITE_DBCONFIG_LOOKASIDE: i32 = 1001;
-pub const SQLITE_DBCONFIG_ENABLE_FKEY: i32 = 1002;
-pub const SQLITE_DBCONFIG_ENABLE_TRIGGER: i32 = 1003;
-pub const SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER: i32 = 1004;
-pub const SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION: i32 = 1005;
-pub const SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE: i32 = 1006;
-pub const SQLITE_DBCONFIG_ENABLE_QPSG: i32 = 1007;
-pub const SQLITE_DBCONFIG_TRIGGER_EQP: i32 = 1008;
-pub const SQLITE_DBCONFIG_RESET_DATABASE: i32 = 1009;
-pub const SQLITE_DBCONFIG_DEFENSIVE: i32 = 1010;
-pub const SQLITE_DBCONFIG_WRITABLE_SCHEMA: i32 = 1011;
-pub const SQLITE_DBCONFIG_LEGACY_ALTER_TABLE: i32 = 1012;
-pub const SQLITE_DBCONFIG_DQS_DML: i32 = 1013;
-pub const SQLITE_DBCONFIG_DQS_DDL: i32 = 1014;
-pub const SQLITE_DBCONFIG_ENABLE_VIEW: i32 = 1015;
-pub const SQLITE_DBCONFIG_LEGACY_FILE_FORMAT: i32 = 1016;
-pub const SQLITE_DBCONFIG_TRUSTED_SCHEMA: i32 = 1017;
-pub const SQLITE_DBCONFIG_MAX: i32 = 1017;
-pub const SQLITE_DENY: i32 = 1;
-pub const SQLITE_IGNORE: i32 = 2;
-pub const SQLITE_CREATE_INDEX: i32 = 1;
-pub const SQLITE_CREATE_TABLE: i32 = 2;
-pub const SQLITE_CREATE_TEMP_INDEX: i32 = 3;
-pub const SQLITE_CREATE_TEMP_TABLE: i32 = 4;
-pub const SQLITE_CREATE_TEMP_TRIGGER: i32 = 5;
-pub const SQLITE_CREATE_TEMP_VIEW: i32 = 6;
-pub const SQLITE_CREATE_TRIGGER: i32 = 7;
-pub const SQLITE_CREATE_VIEW: i32 = 8;
-pub const SQLITE_DELETE: i32 = 9;
-pub const SQLITE_DROP_INDEX: i32 = 10;
-pub const SQLITE_DROP_TABLE: i32 = 11;
-pub const SQLITE_DROP_TEMP_INDEX: i32 = 12;
-pub const SQLITE_DROP_TEMP_TABLE: i32 = 13;
-pub const SQLITE_DROP_TEMP_TRIGGER: i32 = 14;
-pub const SQLITE_DROP_TEMP_VIEW: i32 = 15;
-pub const SQLITE_DROP_TRIGGER: i32 = 16;
-pub const SQLITE_DROP_VIEW: i32 = 17;
-pub const SQLITE_INSERT: i32 = 18;
-pub const SQLITE_PRAGMA: i32 = 19;
-pub const SQLITE_READ: i32 = 20;
-pub const SQLITE_SELECT: i32 = 21;
-pub const SQLITE_TRANSACTION: i32 = 22;
-pub const SQLITE_UPDATE: i32 = 23;
-pub const SQLITE_ATTACH: i32 = 24;
-pub const SQLITE_DETACH: i32 = 25;
-pub const SQLITE_ALTER_TABLE: i32 = 26;
-pub const SQLITE_REINDEX: i32 = 27;
-pub const SQLITE_ANALYZE: i32 = 28;
-pub const SQLITE_CREATE_VTABLE: i32 = 29;
-pub const SQLITE_DROP_VTABLE: i32 = 30;
-pub const SQLITE_FUNCTION: i32 = 31;
-pub const SQLITE_SAVEPOINT: i32 = 32;
-pub const SQLITE_COPY: i32 = 0;
-pub const SQLITE_RECURSIVE: i32 = 33;
-pub const SQLITE_TRACE_STMT: i32 = 1;
-pub const SQLITE_TRACE_PROFILE: i32 = 2;
-pub const SQLITE_TRACE_ROW: i32 = 4;
-pub const SQLITE_TRACE_CLOSE: i32 = 8;
-pub const SQLITE_LIMIT_LENGTH: i32 = 0;
-pub const SQLITE_LIMIT_SQL_LENGTH: i32 = 1;
-pub const SQLITE_LIMIT_COLUMN: i32 = 2;
-pub const SQLITE_LIMIT_EXPR_DEPTH: i32 = 3;
-pub const SQLITE_LIMIT_COMPOUND_SELECT: i32 = 4;
-pub const SQLITE_LIMIT_VDBE_OP: i32 = 5;
-pub const SQLITE_LIMIT_FUNCTION_ARG: i32 = 6;
-pub const SQLITE_LIMIT_ATTACHED: i32 = 7;
-pub const SQLITE_LIMIT_LIKE_PATTERN_LENGTH: i32 = 8;
-pub const SQLITE_LIMIT_VARIABLE_NUMBER: i32 = 9;
-pub const SQLITE_LIMIT_TRIGGER_DEPTH: i32 = 10;
-pub const SQLITE_LIMIT_WORKER_THREADS: i32 = 11;
-pub const SQLITE_PREPARE_PERSISTENT: i32 = 1;
-pub const SQLITE_PREPARE_NORMALIZE: i32 = 2;
-pub const SQLITE_PREPARE_NO_VTAB: i32 = 4;
-pub const SQLITE_INTEGER: i32 = 1;
-pub const SQLITE_FLOAT: i32 = 2;
-pub const SQLITE_BLOB: i32 = 4;
-pub const SQLITE_NULL: i32 = 5;
-pub const SQLITE_TEXT: i32 = 3;
-pub const SQLITE3_TEXT: i32 = 3;
-pub const SQLITE_UTF8: i32 = 1;
-pub const SQLITE_UTF16LE: i32 = 2;
-pub const SQLITE_UTF16BE: i32 = 3;
-pub const SQLITE_UTF16: i32 = 4;
-pub const SQLITE_ANY: i32 = 5;
-pub const SQLITE_UTF16_ALIGNED: i32 = 8;
-pub const SQLITE_DETERMINISTIC: i32 = 2048;
-pub const SQLITE_DIRECTONLY: i32 = 524288;
-pub const SQLITE_SUBTYPE: i32 = 1048576;
-pub const SQLITE_INNOCUOUS: i32 = 2097152;
-pub const SQLITE_WIN32_DATA_DIRECTORY_TYPE: i32 = 1;
-pub const SQLITE_WIN32_TEMP_DIRECTORY_TYPE: i32 = 2;
-pub const SQLITE_INDEX_SCAN_UNIQUE: i32 = 1;
-pub const SQLITE_INDEX_CONSTRAINT_EQ: i32 = 2;
-pub const SQLITE_INDEX_CONSTRAINT_GT: i32 = 4;
-pub const SQLITE_INDEX_CONSTRAINT_LE: i32 = 8;
-pub const SQLITE_INDEX_CONSTRAINT_LT: i32 = 16;
-pub const SQLITE_INDEX_CONSTRAINT_GE: i32 = 32;
-pub const SQLITE_INDEX_CONSTRAINT_MATCH: i32 = 64;
-pub const SQLITE_INDEX_CONSTRAINT_LIKE: i32 = 65;
-pub const SQLITE_INDEX_CONSTRAINT_GLOB: i32 = 66;
-pub const SQLITE_INDEX_CONSTRAINT_REGEXP: i32 = 67;
-pub const SQLITE_INDEX_CONSTRAINT_NE: i32 = 68;
-pub const SQLITE_INDEX_CONSTRAINT_ISNOT: i32 = 69;
-pub const SQLITE_INDEX_CONSTRAINT_ISNOTNULL: i32 = 70;
-pub const SQLITE_INDEX_CONSTRAINT_ISNULL: i32 = 71;
-pub const SQLITE_INDEX_CONSTRAINT_IS: i32 = 72;
-pub const SQLITE_INDEX_CONSTRAINT_FUNCTION: i32 = 150;
-pub const SQLITE_MUTEX_FAST: i32 = 0;
-pub const SQLITE_MUTEX_RECURSIVE: i32 = 1;
-pub const SQLITE_MUTEX_STATIC_MASTER: i32 = 2;
-pub const SQLITE_MUTEX_STATIC_MEM: i32 = 3;
-pub const SQLITE_MUTEX_STATIC_MEM2: i32 = 4;
-pub const SQLITE_MUTEX_STATIC_OPEN: i32 = 4;
-pub const SQLITE_MUTEX_STATIC_PRNG: i32 = 5;
-pub const SQLITE_MUTEX_STATIC_LRU: i32 = 6;
-pub const SQLITE_MUTEX_STATIC_LRU2: i32 = 7;
-pub const SQLITE_MUTEX_STATIC_PMEM: i32 = 7;
-pub const SQLITE_MUTEX_STATIC_APP1: i32 = 8;
-pub const SQLITE_MUTEX_STATIC_APP2: i32 = 9;
-pub const SQLITE_MUTEX_STATIC_APP3: i32 = 10;
-pub const SQLITE_MUTEX_STATIC_VFS1: i32 = 11;
-pub const SQLITE_MUTEX_STATIC_VFS2: i32 = 12;
-pub const SQLITE_MUTEX_STATIC_VFS3: i32 = 13;
-pub const SQLITE_TESTCTRL_FIRST: i32 = 5;
-pub const SQLITE_TESTCTRL_PRNG_SAVE: i32 = 5;
-pub const SQLITE_TESTCTRL_PRNG_RESTORE: i32 = 6;
-pub const SQLITE_TESTCTRL_PRNG_RESET: i32 = 7;
-pub const SQLITE_TESTCTRL_BITVEC_TEST: i32 = 8;
-pub const SQLITE_TESTCTRL_FAULT_INSTALL: i32 = 9;
-pub const SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS: i32 = 10;
-pub const SQLITE_TESTCTRL_PENDING_BYTE: i32 = 11;
-pub const SQLITE_TESTCTRL_ASSERT: i32 = 12;
-pub const SQLITE_TESTCTRL_ALWAYS: i32 = 13;
-pub const SQLITE_TESTCTRL_RESERVE: i32 = 14;
-pub const SQLITE_TESTCTRL_OPTIMIZATIONS: i32 = 15;
-pub const SQLITE_TESTCTRL_ISKEYWORD: i32 = 16;
-pub const SQLITE_TESTCTRL_SCRATCHMALLOC: i32 = 17;
-pub const SQLITE_TESTCTRL_INTERNAL_FUNCTIONS: i32 = 17;
-pub const SQLITE_TESTCTRL_LOCALTIME_FAULT: i32 = 18;
-pub const SQLITE_TESTCTRL_EXPLAIN_STMT: i32 = 19;
-pub const SQLITE_TESTCTRL_ONCE_RESET_THRESHOLD: i32 = 19;
-pub const SQLITE_TESTCTRL_NEVER_CORRUPT: i32 = 20;
-pub const SQLITE_TESTCTRL_VDBE_COVERAGE: i32 = 21;
-pub const SQLITE_TESTCTRL_BYTEORDER: i32 = 22;
-pub const SQLITE_TESTCTRL_ISINIT: i32 = 23;
-pub const SQLITE_TESTCTRL_SORTER_MMAP: i32 = 24;
-pub const SQLITE_TESTCTRL_IMPOSTER: i32 = 25;
-pub const SQLITE_TESTCTRL_PARSER_COVERAGE: i32 = 26;
-pub const SQLITE_TESTCTRL_RESULT_INTREAL: i32 = 27;
-pub const SQLITE_TESTCTRL_PRNG_SEED: i32 = 28;
-pub const SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS: i32 = 29;
-pub const SQLITE_TESTCTRL_LAST: i32 = 29;
-pub const SQLITE_STATUS_MEMORY_USED: i32 = 0;
-pub const SQLITE_STATUS_PAGECACHE_USED: i32 = 1;
-pub const SQLITE_STATUS_PAGECACHE_OVERFLOW: i32 = 2;
-pub const SQLITE_STATUS_SCRATCH_USED: i32 = 3;
-pub const SQLITE_STATUS_SCRATCH_OVERFLOW: i32 = 4;
-pub const SQLITE_STATUS_MALLOC_SIZE: i32 = 5;
-pub const SQLITE_STATUS_PARSER_STACK: i32 = 6;
-pub const SQLITE_STATUS_PAGECACHE_SIZE: i32 = 7;
-pub const SQLITE_STATUS_SCRATCH_SIZE: i32 = 8;
-pub const SQLITE_STATUS_MALLOC_COUNT: i32 = 9;
-pub const SQLITE_DBSTATUS_LOOKASIDE_USED: i32 = 0;
-pub const SQLITE_DBSTATUS_CACHE_USED: i32 = 1;
-pub const SQLITE_DBSTATUS_SCHEMA_USED: i32 = 2;
-pub const SQLITE_DBSTATUS_STMT_USED: i32 = 3;
-pub const SQLITE_DBSTATUS_LOOKASIDE_HIT: i32 = 4;
-pub const SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE: i32 = 5;
-pub const SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL: i32 = 6;
-pub const SQLITE_DBSTATUS_CACHE_HIT: i32 = 7;
-pub const SQLITE_DBSTATUS_CACHE_MISS: i32 = 8;
-pub const SQLITE_DBSTATUS_CACHE_WRITE: i32 = 9;
-pub const SQLITE_DBSTATUS_DEFERRED_FKS: i32 = 10;
-pub const SQLITE_DBSTATUS_CACHE_USED_SHARED: i32 = 11;
-pub const SQLITE_DBSTATUS_CACHE_SPILL: i32 = 12;
-pub const SQLITE_DBSTATUS_MAX: i32 = 12;
-pub const SQLITE_STMTSTATUS_FULLSCAN_STEP: i32 = 1;
-pub const SQLITE_STMTSTATUS_SORT: i32 = 2;
-pub const SQLITE_STMTSTATUS_AUTOINDEX: i32 = 3;
-pub const SQLITE_STMTSTATUS_VM_STEP: i32 = 4;
-pub const SQLITE_STMTSTATUS_REPREPARE: i32 = 5;
-pub const SQLITE_STMTSTATUS_RUN: i32 = 6;
-pub const SQLITE_STMTSTATUS_MEMUSED: i32 = 99;
-pub const SQLITE_CHECKPOINT_PASSIVE: i32 = 0;
-pub const SQLITE_CHECKPOINT_FULL: i32 = 1;
-pub const SQLITE_CHECKPOINT_RESTART: i32 = 2;
-pub const SQLITE_CHECKPOINT_TRUNCATE: i32 = 3;
-pub const SQLITE_VTAB_CONSTRAINT_SUPPORT: i32 = 1;
-pub const SQLITE_VTAB_INNOCUOUS: i32 = 2;
-pub const SQLITE_VTAB_DIRECTONLY: i32 = 3;
-pub const SQLITE_ROLLBACK: i32 = 1;
-pub const SQLITE_FAIL: i32 = 3;
-pub const SQLITE_REPLACE: i32 = 5;
-pub const SQLITE_SCANSTAT_NLOOP: i32 = 0;
-pub const SQLITE_SCANSTAT_NVISIT: i32 = 1;
-pub const SQLITE_SCANSTAT_EST: i32 = 2;
-pub const SQLITE_SCANSTAT_NAME: i32 = 3;
-pub const SQLITE_SCANSTAT_EXPLAIN: i32 = 4;
-pub const SQLITE_SCANSTAT_SELECTID: i32 = 5;
-pub const SQLITE_SERIALIZE_NOCOPY: i32 = 1;
-pub const SQLITE_DESERIALIZE_FREEONCLOSE: i32 = 1;
-pub const SQLITE_DESERIALIZE_RESIZEABLE: i32 = 2;
-pub const SQLITE_DESERIALIZE_READONLY: i32 = 4;
-pub const NOT_WITHIN: i32 = 0;
-pub const PARTLY_WITHIN: i32 = 1;
-pub const FULLY_WITHIN: i32 = 2;
-pub const FTS5_TOKENIZE_QUERY: i32 = 1;
-pub const FTS5_TOKENIZE_PREFIX: i32 = 2;
-pub const FTS5_TOKENIZE_DOCUMENT: i32 = 4;
-pub const FTS5_TOKENIZE_AUX: i32 = 8;
-pub const FTS5_TOKEN_COLOCATED: i32 = 1;
-extern "C" {
-    pub static mut sqlite3_version: [::std::os::raw::c_char; 0usize];
-}
-extern "C" {
-    pub fn sqlite3_libversion() -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_sourceid() -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_libversion_number() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_threadsafe() -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3 {
-    _unused: [u8; 0],
-}
-pub type sqlite_int64 = ::std::os::raw::c_longlong;
-pub type sqlite_uint64 = ::std::os::raw::c_ulonglong;
-pub type sqlite3_int64 = sqlite_int64;
-pub type sqlite3_uint64 = sqlite_uint64;
-extern "C" {
-    pub fn sqlite3_close(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_close_v2(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-pub type sqlite3_callback = ::std::option::Option<
-    unsafe extern "C" fn(
-        arg1: *mut ::std::os::raw::c_void,
-        arg2: ::std::os::raw::c_int,
-        arg3: *mut *mut ::std::os::raw::c_char,
-        arg4: *mut *mut ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int,
->;
-extern "C" {
-    pub fn sqlite3_exec(
-        arg1: *mut sqlite3,
-        sql: *const ::std::os::raw::c_char,
-        callback: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut ::std::os::raw::c_char,
-                arg4: *mut *mut ::std::os::raw::c_char,
-            ) -> ::std::os::raw::c_int,
-        >,
-        arg2: *mut ::std::os::raw::c_void,
-        errmsg: *mut *mut ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_file {
-    pub pMethods: *const sqlite3_io_methods,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_file() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_file>(),
-        4usize,
-        concat!("Size of: ", stringify!(sqlite3_file))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_file>(),
-        4usize,
-        concat!("Alignment of ", stringify!(sqlite3_file))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_file>())).pMethods as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_file),
-            "::",
-            stringify!(pMethods)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_io_methods {
-    pub iVersion: ::std::os::raw::c_int,
-    pub xClose: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_file) -> ::std::os::raw::c_int,
-    >,
-    pub xRead: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            arg2: *mut ::std::os::raw::c_void,
-            iAmt: ::std::os::raw::c_int,
-            iOfst: sqlite3_int64,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xWrite: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            arg2: *const ::std::os::raw::c_void,
-            iAmt: ::std::os::raw::c_int,
-            iOfst: sqlite3_int64,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xTruncate: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_file, size: sqlite3_int64) -> ::std::os::raw::c_int,
-    >,
-    pub xSync: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            flags: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xFileSize: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            pSize: *mut sqlite3_int64,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xLock: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            arg2: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xUnlock: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            arg2: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xCheckReservedLock: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            pResOut: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xFileControl: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            op: ::std::os::raw::c_int,
-            pArg: *mut ::std::os::raw::c_void,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xSectorSize: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_file) -> ::std::os::raw::c_int,
-    >,
-    pub xDeviceCharacteristics: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_file) -> ::std::os::raw::c_int,
-    >,
-    pub xShmMap: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            iPg: ::std::os::raw::c_int,
-            pgsz: ::std::os::raw::c_int,
-            arg2: ::std::os::raw::c_int,
-            arg3: *mut *mut ::std::os::raw::c_void,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xShmLock: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            offset: ::std::os::raw::c_int,
-            n: ::std::os::raw::c_int,
-            flags: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xShmBarrier: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_file)>,
-    pub xShmUnmap: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            deleteFlag: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xFetch: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            iOfst: sqlite3_int64,
-            iAmt: ::std::os::raw::c_int,
-            pp: *mut *mut ::std::os::raw::c_void,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xUnfetch: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            iOfst: sqlite3_int64,
-            p: *mut ::std::os::raw::c_void,
-        ) -> ::std::os::raw::c_int,
-    >,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_io_methods() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_io_methods>(),
-        76usize,
-        concat!("Size of: ", stringify!(sqlite3_io_methods))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_io_methods>(),
-        4usize,
-        concat!("Alignment of ", stringify!(sqlite3_io_methods))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).iVersion as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(iVersion)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xClose as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xClose)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xRead as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xRead)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xWrite as *const _ as usize },
-        12usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xWrite)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xTruncate as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xTruncate)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xSync as *const _ as usize },
-        20usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xSync)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xFileSize as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xFileSize)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xLock as *const _ as usize },
-        28usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xLock)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xUnlock as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xUnlock)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_io_methods>())).xCheckReservedLock as *const _ as usize
-        },
-        36usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xCheckReservedLock)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xFileControl as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xFileControl)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xSectorSize as *const _ as usize },
-        44usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xSectorSize)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_io_methods>())).xDeviceCharacteristics as *const _
-                as usize
-        },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xDeviceCharacteristics)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xShmMap as *const _ as usize },
-        52usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xShmMap)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xShmLock as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xShmLock)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xShmBarrier as *const _ as usize },
-        60usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xShmBarrier)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xShmUnmap as *const _ as usize },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xShmUnmap)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xFetch as *const _ as usize },
-        68usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xFetch)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xUnfetch as *const _ as usize },
-        72usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xUnfetch)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_mutex {
-    _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_api_routines {
-    _unused: [u8; 0],
-}
-pub type sqlite3_syscall_ptr = ::std::option::Option<unsafe extern "C" fn()>;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_vfs {
-    pub iVersion: ::std::os::raw::c_int,
-    pub szOsFile: ::std::os::raw::c_int,
-    pub mxPathname: ::std::os::raw::c_int,
-    pub pNext: *mut sqlite3_vfs,
-    pub zName: *const ::std::os::raw::c_char,
-    pub pAppData: *mut ::std::os::raw::c_void,
-    pub xOpen: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            zName: *const ::std::os::raw::c_char,
-            arg2: *mut sqlite3_file,
-            flags: ::std::os::raw::c_int,
-            pOutFlags: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xDelete: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            zName: *const ::std::os::raw::c_char,
-            syncDir: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xAccess: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            zName: *const ::std::os::raw::c_char,
-            flags: ::std::os::raw::c_int,
-            pResOut: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xFullPathname: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            zName: *const ::std::os::raw::c_char,
-            nOut: ::std::os::raw::c_int,
-            zOut: *mut ::std::os::raw::c_char,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xDlOpen: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            zFilename: *const ::std::os::raw::c_char,
-        ) -> *mut ::std::os::raw::c_void,
-    >,
-    pub xDlError: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            nByte: ::std::os::raw::c_int,
-            zErrMsg: *mut ::std::os::raw::c_char,
-        ),
-    >,
-    pub xDlSym: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            arg2: *mut ::std::os::raw::c_void,
-            zSymbol: *const ::std::os::raw::c_char,
-        ) -> ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_vfs,
-                arg2: *mut ::std::os::raw::c_void,
-                zSymbol: *const ::std::os::raw::c_char,
-            ),
-        >,
-    >,
-    pub xDlClose: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_vfs, arg2: *mut ::std::os::raw::c_void),
-    >,
-    pub xRandomness: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            nByte: ::std::os::raw::c_int,
-            zOut: *mut ::std::os::raw::c_char,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xSleep: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            microseconds: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xCurrentTime: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_vfs, arg2: *mut f64) -> ::std::os::raw::c_int,
-    >,
-    pub xGetLastError: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            arg2: ::std::os::raw::c_int,
-            arg3: *mut ::std::os::raw::c_char,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xCurrentTimeInt64: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            arg2: *mut sqlite3_int64,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xSetSystemCall: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            zName: *const ::std::os::raw::c_char,
-            arg2: sqlite3_syscall_ptr,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xGetSystemCall: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            zName: *const ::std::os::raw::c_char,
-        ) -> sqlite3_syscall_ptr,
-    >,
-    pub xNextSystemCall: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            zName: *const ::std::os::raw::c_char,
-        ) -> *const ::std::os::raw::c_char,
-    >,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_vfs() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_vfs>(),
-        88usize,
-        concat!("Size of: ", stringify!(sqlite3_vfs))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_vfs>(),
-        4usize,
-        concat!("Alignment of ", stringify!(sqlite3_vfs))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).iVersion as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(iVersion)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).szOsFile as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(szOsFile)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).mxPathname as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(mxPathname)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).pNext as *const _ as usize },
-        12usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(pNext)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).zName as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(zName)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).pAppData as *const _ as usize },
-        20usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(pAppData)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xOpen as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xOpen)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xDelete as *const _ as usize },
-        28usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xDelete)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xAccess as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xAccess)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xFullPathname as *const _ as usize },
-        36usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xFullPathname)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xDlOpen as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xDlOpen)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xDlError as *const _ as usize },
-        44usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xDlError)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xDlSym as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xDlSym)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xDlClose as *const _ as usize },
-        52usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xDlClose)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xRandomness as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xRandomness)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xSleep as *const _ as usize },
-        60usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xSleep)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xCurrentTime as *const _ as usize },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xCurrentTime)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xGetLastError as *const _ as usize },
-        68usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xGetLastError)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xCurrentTimeInt64 as *const _ as usize },
-        72usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xCurrentTimeInt64)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xSetSystemCall as *const _ as usize },
-        76usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xSetSystemCall)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xGetSystemCall as *const _ as usize },
-        80usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xGetSystemCall)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xNextSystemCall as *const _ as usize },
-        84usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xNextSystemCall)
-        )
-    );
-}
-extern "C" {
-    pub fn sqlite3_initialize() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_shutdown() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_os_init() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_os_end() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_config(arg1: ::std::os::raw::c_int, ...) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_db_config(
-        arg1: *mut sqlite3,
-        op: ::std::os::raw::c_int,
-        ...
-    ) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_mem_methods {
-    pub xMalloc: ::std::option::Option<
-        unsafe extern "C" fn(arg1: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_void,
-    >,
-    pub xFree: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    pub xRealloc: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut ::std::os::raw::c_void,
-            arg2: ::std::os::raw::c_int,
-        ) -> *mut ::std::os::raw::c_void,
-    >,
-    pub xSize: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
-    >,
-    pub xRoundup: ::std::option::Option<
-        unsafe extern "C" fn(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
-    >,
-    pub xInit: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
-    >,
-    pub xShutdown: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    pub pAppData: *mut ::std::os::raw::c_void,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_mem_methods() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_mem_methods>(),
-        32usize,
-        concat!("Size of: ", stringify!(sqlite3_mem_methods))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_mem_methods>(),
-        4usize,
-        concat!("Alignment of ", stringify!(sqlite3_mem_methods))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mem_methods>())).xMalloc as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mem_methods),
-            "::",
-            stringify!(xMalloc)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mem_methods>())).xFree as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mem_methods),
-            "::",
-            stringify!(xFree)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mem_methods>())).xRealloc as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mem_methods),
-            "::",
-            stringify!(xRealloc)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mem_methods>())).xSize as *const _ as usize },
-        12usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mem_methods),
-            "::",
-            stringify!(xSize)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mem_methods>())).xRoundup as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mem_methods),
-            "::",
-            stringify!(xRoundup)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mem_methods>())).xInit as *const _ as usize },
-        20usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mem_methods),
-            "::",
-            stringify!(xInit)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mem_methods>())).xShutdown as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mem_methods),
-            "::",
-            stringify!(xShutdown)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mem_methods>())).pAppData as *const _ as usize },
-        28usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mem_methods),
-            "::",
-            stringify!(pAppData)
-        )
-    );
-}
-extern "C" {
-    pub fn sqlite3_extended_result_codes(
-        arg1: *mut sqlite3,
-        onoff: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_last_insert_rowid(arg1: *mut sqlite3) -> sqlite3_int64;
-}
-extern "C" {
-    pub fn sqlite3_set_last_insert_rowid(arg1: *mut sqlite3, arg2: sqlite3_int64);
-}
-extern "C" {
-    pub fn sqlite3_changes(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_total_changes(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_interrupt(arg1: *mut sqlite3);
-}
-extern "C" {
-    pub fn sqlite3_complete(sql: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_complete16(sql: *const ::std::os::raw::c_void) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_busy_handler(
-        arg1: *mut sqlite3,
-        arg2: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: ::std::os::raw::c_int,
-            ) -> ::std::os::raw::c_int,
-        >,
-        arg3: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_busy_timeout(
-        arg1: *mut sqlite3,
-        ms: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_get_table(
-        db: *mut sqlite3,
-        zSql: *const ::std::os::raw::c_char,
-        pazResult: *mut *mut *mut ::std::os::raw::c_char,
-        pnRow: *mut ::std::os::raw::c_int,
-        pnColumn: *mut ::std::os::raw::c_int,
-        pzErrmsg: *mut *mut ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_free_table(result: *mut *mut ::std::os::raw::c_char);
-}
-extern "C" {
-    pub fn sqlite3_mprintf(arg1: *const ::std::os::raw::c_char, ...)
-        -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_snprintf(
-        arg1: ::std::os::raw::c_int,
-        arg2: *mut ::std::os::raw::c_char,
-        arg3: *const ::std::os::raw::c_char,
-        ...
-    ) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_malloc(arg1: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_malloc64(arg1: sqlite3_uint64) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_realloc(
-        arg1: *mut ::std::os::raw::c_void,
-        arg2: ::std::os::raw::c_int,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_realloc64(
-        arg1: *mut ::std::os::raw::c_void,
-        arg2: sqlite3_uint64,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_free(arg1: *mut ::std::os::raw::c_void);
-}
-extern "C" {
-    pub fn sqlite3_msize(arg1: *mut ::std::os::raw::c_void) -> sqlite3_uint64;
-}
-extern "C" {
-    pub fn sqlite3_memory_used() -> sqlite3_int64;
-}
-extern "C" {
-    pub fn sqlite3_memory_highwater(resetFlag: ::std::os::raw::c_int) -> sqlite3_int64;
-}
-extern "C" {
-    pub fn sqlite3_randomness(N: ::std::os::raw::c_int, P: *mut ::std::os::raw::c_void);
-}
-extern "C" {
-    pub fn sqlite3_set_authorizer(
-        arg1: *mut sqlite3,
-        xAuth: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: ::std::os::raw::c_int,
-                arg3: *const ::std::os::raw::c_char,
-                arg4: *const ::std::os::raw::c_char,
-                arg5: *const ::std::os::raw::c_char,
-                arg6: *const ::std::os::raw::c_char,
-            ) -> ::std::os::raw::c_int,
-        >,
-        pUserData: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_trace(
-        arg1: *mut sqlite3,
-        xTrace: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: *const ::std::os::raw::c_char,
-            ),
-        >,
-        arg2: *mut ::std::os::raw::c_void,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_profile(
-        arg1: *mut sqlite3,
-        xProfile: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: *const ::std::os::raw::c_char,
-                arg3: sqlite3_uint64,
-            ),
-        >,
-        arg2: *mut ::std::os::raw::c_void,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_trace_v2(
-        arg1: *mut sqlite3,
-        uMask: ::std::os::raw::c_uint,
-        xCallback: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: ::std::os::raw::c_uint,
-                arg2: *mut ::std::os::raw::c_void,
-                arg3: *mut ::std::os::raw::c_void,
-                arg4: *mut ::std::os::raw::c_void,
-            ) -> ::std::os::raw::c_int,
-        >,
-        pCtx: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_progress_handler(
-        arg1: *mut sqlite3,
-        arg2: ::std::os::raw::c_int,
-        arg3: ::std::option::Option<
-            unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
-        >,
-        arg4: *mut ::std::os::raw::c_void,
-    );
-}
-extern "C" {
-    pub fn sqlite3_open(
-        filename: *const ::std::os::raw::c_char,
-        ppDb: *mut *mut sqlite3,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_open16(
-        filename: *const ::std::os::raw::c_void,
-        ppDb: *mut *mut sqlite3,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_open_v2(
-        filename: *const ::std::os::raw::c_char,
-        ppDb: *mut *mut sqlite3,
-        flags: ::std::os::raw::c_int,
-        zVfs: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_uri_parameter(
-        zFilename: *const ::std::os::raw::c_char,
-        zParam: *const ::std::os::raw::c_char,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_uri_boolean(
-        zFile: *const ::std::os::raw::c_char,
-        zParam: *const ::std::os::raw::c_char,
-        bDefault: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_uri_int64(
-        arg1: *const ::std::os::raw::c_char,
-        arg2: *const ::std::os::raw::c_char,
-        arg3: sqlite3_int64,
-    ) -> sqlite3_int64;
-}
-extern "C" {
-    pub fn sqlite3_uri_key(
-        zFilename: *const ::std::os::raw::c_char,
-        N: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_filename_database(
-        arg1: *const ::std::os::raw::c_char,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_filename_journal(
-        arg1: *const ::std::os::raw::c_char,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_filename_wal(
-        arg1: *const ::std::os::raw::c_char,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_database_file_object(arg1: *const ::std::os::raw::c_char) -> *mut sqlite3_file;
-}
-extern "C" {
-    pub fn sqlite3_create_filename(
-        zDatabase: *const ::std::os::raw::c_char,
-        zJournal: *const ::std::os::raw::c_char,
-        zWal: *const ::std::os::raw::c_char,
-        nParam: ::std::os::raw::c_int,
-        azParam: *mut *const ::std::os::raw::c_char,
-    ) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_free_filename(arg1: *mut ::std::os::raw::c_char);
-}
-extern "C" {
-    pub fn sqlite3_errcode(db: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_extended_errcode(db: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_errmsg(arg1: *mut sqlite3) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_errmsg16(arg1: *mut sqlite3) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_errstr(arg1: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_stmt {
-    _unused: [u8; 0],
-}
-extern "C" {
-    pub fn sqlite3_limit(
-        arg1: *mut sqlite3,
-        id: ::std::os::raw::c_int,
-        newVal: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_prepare(
-        db: *mut sqlite3,
-        zSql: *const ::std::os::raw::c_char,
-        nByte: ::std::os::raw::c_int,
-        ppStmt: *mut *mut sqlite3_stmt,
-        pzTail: *mut *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_prepare_v2(
-        db: *mut sqlite3,
-        zSql: *const ::std::os::raw::c_char,
-        nByte: ::std::os::raw::c_int,
-        ppStmt: *mut *mut sqlite3_stmt,
-        pzTail: *mut *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_prepare_v3(
-        db: *mut sqlite3,
-        zSql: *const ::std::os::raw::c_char,
-        nByte: ::std::os::raw::c_int,
-        prepFlags: ::std::os::raw::c_uint,
-        ppStmt: *mut *mut sqlite3_stmt,
-        pzTail: *mut *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_prepare16(
-        db: *mut sqlite3,
-        zSql: *const ::std::os::raw::c_void,
-        nByte: ::std::os::raw::c_int,
-        ppStmt: *mut *mut sqlite3_stmt,
-        pzTail: *mut *const ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_prepare16_v2(
-        db: *mut sqlite3,
-        zSql: *const ::std::os::raw::c_void,
-        nByte: ::std::os::raw::c_int,
-        ppStmt: *mut *mut sqlite3_stmt,
-        pzTail: *mut *const ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_prepare16_v3(
-        db: *mut sqlite3,
-        zSql: *const ::std::os::raw::c_void,
-        nByte: ::std::os::raw::c_int,
-        prepFlags: ::std::os::raw::c_uint,
-        ppStmt: *mut *mut sqlite3_stmt,
-        pzTail: *mut *const ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_sql(pStmt: *mut sqlite3_stmt) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_expanded_sql(pStmt: *mut sqlite3_stmt) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_normalized_sql(pStmt: *mut sqlite3_stmt) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_stmt_readonly(pStmt: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_stmt_isexplain(pStmt: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_stmt_busy(arg1: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_value {
-    _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_context {
-    _unused: [u8; 0],
-}
-extern "C" {
-    pub fn sqlite3_bind_blob(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: *const ::std::os::raw::c_void,
-        n: ::std::os::raw::c_int,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_blob64(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: *const ::std::os::raw::c_void,
-        arg4: sqlite3_uint64,
-        arg5: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_double(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: f64,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_int(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_int64(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: sqlite3_int64,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_null(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_text(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: *const ::std::os::raw::c_char,
-        arg4: ::std::os::raw::c_int,
-        arg5: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_text16(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: *const ::std::os::raw::c_void,
-        arg4: ::std::os::raw::c_int,
-        arg5: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_text64(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: *const ::std::os::raw::c_char,
-        arg4: sqlite3_uint64,
-        arg5: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-        encoding: ::std::os::raw::c_uchar,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_value(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: *const sqlite3_value,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_pointer(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: *mut ::std::os::raw::c_void,
-        arg4: *const ::std::os::raw::c_char,
-        arg5: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_zeroblob(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        n: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_zeroblob64(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: sqlite3_uint64,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_parameter_count(arg1: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_parameter_name(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_bind_parameter_index(
-        arg1: *mut sqlite3_stmt,
-        zName: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_clear_bindings(arg1: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_column_count(pStmt: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_column_name(
-        arg1: *mut sqlite3_stmt,
-        N: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_column_name16(
-        arg1: *mut sqlite3_stmt,
-        N: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_column_database_name(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_column_database_name16(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_column_table_name(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_column_table_name16(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_column_origin_name(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_column_origin_name16(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_column_decltype(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_column_decltype16(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_step(arg1: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_data_count(pStmt: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_column_blob(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_column_double(arg1: *mut sqlite3_stmt, iCol: ::std::os::raw::c_int) -> f64;
-}
-extern "C" {
-    pub fn sqlite3_column_int(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_column_int64(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> sqlite3_int64;
-}
-extern "C" {
-    pub fn sqlite3_column_text(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_uchar;
-}
-extern "C" {
-    pub fn sqlite3_column_text16(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_column_value(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> *mut sqlite3_value;
-}
-extern "C" {
-    pub fn sqlite3_column_bytes(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_column_bytes16(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_column_type(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_finalize(pStmt: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_reset(pStmt: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_create_function(
-        db: *mut sqlite3,
-        zFunctionName: *const ::std::os::raw::c_char,
-        nArg: ::std::os::raw::c_int,
-        eTextRep: ::std::os::raw::c_int,
-        pApp: *mut ::std::os::raw::c_void,
-        xFunc: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_context,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut sqlite3_value,
-            ),
-        >,
-        xStep: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_context,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut sqlite3_value,
-            ),
-        >,
-        xFinal: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_context)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_create_function16(
-        db: *mut sqlite3,
-        zFunctionName: *const ::std::os::raw::c_void,
-        nArg: ::std::os::raw::c_int,
-        eTextRep: ::std::os::raw::c_int,
-        pApp: *mut ::std::os::raw::c_void,
-        xFunc: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_context,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut sqlite3_value,
-            ),
-        >,
-        xStep: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_context,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut sqlite3_value,
-            ),
-        >,
-        xFinal: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_context)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_create_function_v2(
-        db: *mut sqlite3,
-        zFunctionName: *const ::std::os::raw::c_char,
-        nArg: ::std::os::raw::c_int,
-        eTextRep: ::std::os::raw::c_int,
-        pApp: *mut ::std::os::raw::c_void,
-        xFunc: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_context,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut sqlite3_value,
-            ),
-        >,
-        xStep: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_context,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut sqlite3_value,
-            ),
-        >,
-        xFinal: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_context)>,
-        xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_create_window_function(
-        db: *mut sqlite3,
-        zFunctionName: *const ::std::os::raw::c_char,
-        nArg: ::std::os::raw::c_int,
-        eTextRep: ::std::os::raw::c_int,
-        pApp: *mut ::std::os::raw::c_void,
-        xStep: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_context,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut sqlite3_value,
-            ),
-        >,
-        xFinal: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_context)>,
-        xValue: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_context)>,
-        xInverse: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_context,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut sqlite3_value,
-            ),
-        >,
-        xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_aggregate_count(arg1: *mut sqlite3_context) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_expired(arg1: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_transfer_bindings(
-        arg1: *mut sqlite3_stmt,
-        arg2: *mut sqlite3_stmt,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_global_recover() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_thread_cleanup();
-}
-extern "C" {
-    pub fn sqlite3_memory_alarm(
-        arg1: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: sqlite3_int64,
-                arg3: ::std::os::raw::c_int,
-            ),
-        >,
-        arg2: *mut ::std::os::raw::c_void,
-        arg3: sqlite3_int64,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_value_blob(arg1: *mut sqlite3_value) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_value_double(arg1: *mut sqlite3_value) -> f64;
-}
-extern "C" {
-    pub fn sqlite3_value_int(arg1: *mut sqlite3_value) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_value_int64(arg1: *mut sqlite3_value) -> sqlite3_int64;
-}
-extern "C" {
-    pub fn sqlite3_value_pointer(
-        arg1: *mut sqlite3_value,
-        arg2: *const ::std::os::raw::c_char,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_value_text(arg1: *mut sqlite3_value) -> *const ::std::os::raw::c_uchar;
-}
-extern "C" {
-    pub fn sqlite3_value_text16(arg1: *mut sqlite3_value) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_value_text16le(arg1: *mut sqlite3_value) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_value_text16be(arg1: *mut sqlite3_value) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_value_bytes(arg1: *mut sqlite3_value) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_value_bytes16(arg1: *mut sqlite3_value) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_value_type(arg1: *mut sqlite3_value) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_value_numeric_type(arg1: *mut sqlite3_value) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_value_nochange(arg1: *mut sqlite3_value) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_value_frombind(arg1: *mut sqlite3_value) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_value_subtype(arg1: *mut sqlite3_value) -> ::std::os::raw::c_uint;
-}
-extern "C" {
-    pub fn sqlite3_value_dup(arg1: *const sqlite3_value) -> *mut sqlite3_value;
-}
-extern "C" {
-    pub fn sqlite3_value_free(arg1: *mut sqlite3_value);
-}
-extern "C" {
-    pub fn sqlite3_aggregate_context(
-        arg1: *mut sqlite3_context,
-        nBytes: ::std::os::raw::c_int,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_user_data(arg1: *mut sqlite3_context) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_context_db_handle(arg1: *mut sqlite3_context) -> *mut sqlite3;
-}
-extern "C" {
-    pub fn sqlite3_get_auxdata(
-        arg1: *mut sqlite3_context,
-        N: ::std::os::raw::c_int,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_set_auxdata(
-        arg1: *mut sqlite3_context,
-        N: ::std::os::raw::c_int,
-        arg2: *mut ::std::os::raw::c_void,
-        arg3: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    );
-}
-pub type sqlite3_destructor_type =
-    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>;
-extern "C" {
-    pub fn sqlite3_result_blob(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_void,
-        arg3: ::std::os::raw::c_int,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_blob64(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_void,
-        arg3: sqlite3_uint64,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_double(arg1: *mut sqlite3_context, arg2: f64);
-}
-extern "C" {
-    pub fn sqlite3_result_error(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_char,
-        arg3: ::std::os::raw::c_int,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_error16(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_void,
-        arg3: ::std::os::raw::c_int,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_error_toobig(arg1: *mut sqlite3_context);
-}
-extern "C" {
-    pub fn sqlite3_result_error_nomem(arg1: *mut sqlite3_context);
-}
-extern "C" {
-    pub fn sqlite3_result_error_code(arg1: *mut sqlite3_context, arg2: ::std::os::raw::c_int);
-}
-extern "C" {
-    pub fn sqlite3_result_int(arg1: *mut sqlite3_context, arg2: ::std::os::raw::c_int);
-}
-extern "C" {
-    pub fn sqlite3_result_int64(arg1: *mut sqlite3_context, arg2: sqlite3_int64);
-}
-extern "C" {
-    pub fn sqlite3_result_null(arg1: *mut sqlite3_context);
-}
-extern "C" {
-    pub fn sqlite3_result_text(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_char,
-        arg3: ::std::os::raw::c_int,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_text64(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_char,
-        arg3: sqlite3_uint64,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-        encoding: ::std::os::raw::c_uchar,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_text16(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_void,
-        arg3: ::std::os::raw::c_int,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_text16le(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_void,
-        arg3: ::std::os::raw::c_int,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_text16be(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_void,
-        arg3: ::std::os::raw::c_int,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_value(arg1: *mut sqlite3_context, arg2: *mut sqlite3_value);
-}
-extern "C" {
-    pub fn sqlite3_result_pointer(
-        arg1: *mut sqlite3_context,
-        arg2: *mut ::std::os::raw::c_void,
-        arg3: *const ::std::os::raw::c_char,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_zeroblob(arg1: *mut sqlite3_context, n: ::std::os::raw::c_int);
-}
-extern "C" {
-    pub fn sqlite3_result_zeroblob64(
-        arg1: *mut sqlite3_context,
-        n: sqlite3_uint64,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_result_subtype(arg1: *mut sqlite3_context, arg2: ::std::os::raw::c_uint);
-}
-extern "C" {
-    pub fn sqlite3_create_collation(
-        arg1: *mut sqlite3,
-        zName: *const ::std::os::raw::c_char,
-        eTextRep: ::std::os::raw::c_int,
-        pArg: *mut ::std::os::raw::c_void,
-        xCompare: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: ::std::os::raw::c_int,
-                arg3: *const ::std::os::raw::c_void,
-                arg4: ::std::os::raw::c_int,
-                arg5: *const ::std::os::raw::c_void,
-            ) -> ::std::os::raw::c_int,
-        >,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_create_collation_v2(
-        arg1: *mut sqlite3,
-        zName: *const ::std::os::raw::c_char,
-        eTextRep: ::std::os::raw::c_int,
-        pArg: *mut ::std::os::raw::c_void,
-        xCompare: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: ::std::os::raw::c_int,
-                arg3: *const ::std::os::raw::c_void,
-                arg4: ::std::os::raw::c_int,
-                arg5: *const ::std::os::raw::c_void,
-            ) -> ::std::os::raw::c_int,
-        >,
-        xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_create_collation16(
-        arg1: *mut sqlite3,
-        zName: *const ::std::os::raw::c_void,
-        eTextRep: ::std::os::raw::c_int,
-        pArg: *mut ::std::os::raw::c_void,
-        xCompare: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: ::std::os::raw::c_int,
-                arg3: *const ::std::os::raw::c_void,
-                arg4: ::std::os::raw::c_int,
-                arg5: *const ::std::os::raw::c_void,
-            ) -> ::std::os::raw::c_int,
-        >,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_collation_needed(
-        arg1: *mut sqlite3,
-        arg2: *mut ::std::os::raw::c_void,
-        arg3: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: *mut sqlite3,
-                eTextRep: ::std::os::raw::c_int,
-                arg3: *const ::std::os::raw::c_char,
-            ),
-        >,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_collation_needed16(
-        arg1: *mut sqlite3,
-        arg2: *mut ::std::os::raw::c_void,
-        arg3: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: *mut sqlite3,
-                eTextRep: ::std::os::raw::c_int,
-                arg3: *const ::std::os::raw::c_void,
-            ),
-        >,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_sleep(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub static mut sqlite3_temp_directory: *mut ::std::os::raw::c_char;
-}
-extern "C" {
-    pub static mut sqlite3_data_directory: *mut ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_win32_set_directory(
-        type_: ::std::os::raw::c_ulong,
-        zValue: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_win32_set_directory8(
-        type_: ::std::os::raw::c_ulong,
-        zValue: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_win32_set_directory16(
-        type_: ::std::os::raw::c_ulong,
-        zValue: *const ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_get_autocommit(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_db_handle(arg1: *mut sqlite3_stmt) -> *mut sqlite3;
-}
-extern "C" {
-    pub fn sqlite3_db_filename(
-        db: *mut sqlite3,
-        zDbName: *const ::std::os::raw::c_char,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_db_readonly(
-        db: *mut sqlite3,
-        zDbName: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_next_stmt(pDb: *mut sqlite3, pStmt: *mut sqlite3_stmt) -> *mut sqlite3_stmt;
-}
-extern "C" {
-    pub fn sqlite3_commit_hook(
-        arg1: *mut sqlite3,
-        arg2: ::std::option::Option<
-            unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
-        >,
-        arg3: *mut ::std::os::raw::c_void,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_rollback_hook(
-        arg1: *mut sqlite3,
-        arg2: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-        arg3: *mut ::std::os::raw::c_void,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_update_hook(
-        arg1: *mut sqlite3,
-        arg2: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: ::std::os::raw::c_int,
-                arg3: *const ::std::os::raw::c_char,
-                arg4: *const ::std::os::raw::c_char,
-                arg5: sqlite3_int64,
-            ),
-        >,
-        arg3: *mut ::std::os::raw::c_void,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_enable_shared_cache(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_release_memory(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_db_release_memory(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_soft_heap_limit64(N: sqlite3_int64) -> sqlite3_int64;
-}
-extern "C" {
-    pub fn sqlite3_hard_heap_limit64(N: sqlite3_int64) -> sqlite3_int64;
-}
-extern "C" {
-    pub fn sqlite3_soft_heap_limit(N: ::std::os::raw::c_int);
-}
-extern "C" {
-    pub fn sqlite3_table_column_metadata(
-        db: *mut sqlite3,
-        zDbName: *const ::std::os::raw::c_char,
-        zTableName: *const ::std::os::raw::c_char,
-        zColumnName: *const ::std::os::raw::c_char,
-        pzDataType: *mut *const ::std::os::raw::c_char,
-        pzCollSeq: *mut *const ::std::os::raw::c_char,
-        pNotNull: *mut ::std::os::raw::c_int,
-        pPrimaryKey: *mut ::std::os::raw::c_int,
-        pAutoinc: *mut ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_load_extension(
-        db: *mut sqlite3,
-        zFile: *const ::std::os::raw::c_char,
-        zProc: *const ::std::os::raw::c_char,
-        pzErrMsg: *mut *mut ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_enable_load_extension(
-        db: *mut sqlite3,
-        onoff: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_auto_extension(
-        xEntryPoint: ::std::option::Option<unsafe extern "C" fn()>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_cancel_auto_extension(
-        xEntryPoint: ::std::option::Option<unsafe extern "C" fn()>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_reset_auto_extension();
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_module {
-    pub iVersion: ::std::os::raw::c_int,
-    pub xCreate: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3,
-            pAux: *mut ::std::os::raw::c_void,
-            argc: ::std::os::raw::c_int,
-            argv: *const *const ::std::os::raw::c_char,
-            ppVTab: *mut *mut sqlite3_vtab,
-            arg2: *mut *mut ::std::os::raw::c_char,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xConnect: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3,
-            pAux: *mut ::std::os::raw::c_void,
-            argc: ::std::os::raw::c_int,
-            argv: *const *const ::std::os::raw::c_char,
-            ppVTab: *mut *mut sqlite3_vtab,
-            arg2: *mut *mut ::std::os::raw::c_char,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xBestIndex: ::std::option::Option<
-        unsafe extern "C" fn(
-            pVTab: *mut sqlite3_vtab,
-            arg1: *mut sqlite3_index_info,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xDisconnect: ::std::option::Option<
-        unsafe extern "C" fn(pVTab: *mut sqlite3_vtab) -> ::std::os::raw::c_int,
-    >,
-    pub xDestroy: ::std::option::Option<
-        unsafe extern "C" fn(pVTab: *mut sqlite3_vtab) -> ::std::os::raw::c_int,
-    >,
-    pub xOpen: ::std::option::Option<
-        unsafe extern "C" fn(
-            pVTab: *mut sqlite3_vtab,
-            ppCursor: *mut *mut sqlite3_vtab_cursor,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xClose: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_vtab_cursor) -> ::std::os::raw::c_int,
-    >,
-    pub xFilter: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vtab_cursor,
-            idxNum: ::std::os::raw::c_int,
-            idxStr: *const ::std::os::raw::c_char,
-            argc: ::std::os::raw::c_int,
-            argv: *mut *mut sqlite3_value,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xNext: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_vtab_cursor) -> ::std::os::raw::c_int,
-    >,
-    pub xEof: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_vtab_cursor) -> ::std::os::raw::c_int,
-    >,
-    pub xColumn: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vtab_cursor,
-            arg2: *mut sqlite3_context,
-            arg3: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xRowid: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vtab_cursor,
-            pRowid: *mut sqlite3_int64,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xUpdate: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vtab,
-            arg2: ::std::os::raw::c_int,
-            arg3: *mut *mut sqlite3_value,
-            arg4: *mut sqlite3_int64,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xBegin: ::std::option::Option<
-        unsafe extern "C" fn(pVTab: *mut sqlite3_vtab) -> ::std::os::raw::c_int,
-    >,
-    pub xSync: ::std::option::Option<
-        unsafe extern "C" fn(pVTab: *mut sqlite3_vtab) -> ::std::os::raw::c_int,
-    >,
-    pub xCommit: ::std::option::Option<
-        unsafe extern "C" fn(pVTab: *mut sqlite3_vtab) -> ::std::os::raw::c_int,
-    >,
-    pub xRollback: ::std::option::Option<
-        unsafe extern "C" fn(pVTab: *mut sqlite3_vtab) -> ::std::os::raw::c_int,
-    >,
-    pub xFindFunction: ::std::option::Option<
-        unsafe extern "C" fn(
-            pVtab: *mut sqlite3_vtab,
-            nArg: ::std::os::raw::c_int,
-            zName: *const ::std::os::raw::c_char,
-            pxFunc: *mut ::std::option::Option<
-                unsafe extern "C" fn(
-                    arg1: *mut sqlite3_context,
-                    arg2: ::std::os::raw::c_int,
-                    arg3: *mut *mut sqlite3_value,
-                ),
-            >,
-            ppArg: *mut *mut ::std::os::raw::c_void,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xRename: ::std::option::Option<
-        unsafe extern "C" fn(
-            pVtab: *mut sqlite3_vtab,
-            zNew: *const ::std::os::raw::c_char,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xSavepoint: ::std::option::Option<
-        unsafe extern "C" fn(
-            pVTab: *mut sqlite3_vtab,
-            arg1: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xRelease: ::std::option::Option<
-        unsafe extern "C" fn(
-            pVTab: *mut sqlite3_vtab,
-            arg1: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xRollbackTo: ::std::option::Option<
-        unsafe extern "C" fn(
-            pVTab: *mut sqlite3_vtab,
-            arg1: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xShadowName: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int,
-    >,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_module() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_module>(),
-        96usize,
-        concat!("Size of: ", stringify!(sqlite3_module))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_module>(),
-        4usize,
-        concat!("Alignment of ", stringify!(sqlite3_module))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).iVersion as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(iVersion)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xCreate as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xCreate)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xConnect as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xConnect)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xBestIndex as *const _ as usize },
-        12usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xBestIndex)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xDisconnect as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xDisconnect)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xDestroy as *const _ as usize },
-        20usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xDestroy)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xOpen as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xOpen)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xClose as *const _ as usize },
-        28usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xClose)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xFilter as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xFilter)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xNext as *const _ as usize },
-        36usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xNext)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xEof as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xEof)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xColumn as *const _ as usize },
-        44usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xColumn)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xRowid as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xRowid)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xUpdate as *const _ as usize },
-        52usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xUpdate)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xBegin as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xBegin)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xSync as *const _ as usize },
-        60usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xSync)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xCommit as *const _ as usize },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xCommit)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xRollback as *const _ as usize },
-        68usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xRollback)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xFindFunction as *const _ as usize },
-        72usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xFindFunction)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xRename as *const _ as usize },
-        76usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xRename)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xSavepoint as *const _ as usize },
-        80usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xSavepoint)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xRelease as *const _ as usize },
-        84usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xRelease)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xRollbackTo as *const _ as usize },
-        88usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xRollbackTo)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xShadowName as *const _ as usize },
-        92usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xShadowName)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_index_info {
-    pub nConstraint: ::std::os::raw::c_int,
-    pub aConstraint: *mut sqlite3_index_info_sqlite3_index_constraint,
-    pub nOrderBy: ::std::os::raw::c_int,
-    pub aOrderBy: *mut sqlite3_index_info_sqlite3_index_orderby,
-    pub aConstraintUsage: *mut sqlite3_index_info_sqlite3_index_constraint_usage,
-    pub idxNum: ::std::os::raw::c_int,
-    pub idxStr: *mut ::std::os::raw::c_char,
-    pub needToFreeIdxStr: ::std::os::raw::c_int,
-    pub orderByConsumed: ::std::os::raw::c_int,
-    pub estimatedCost: f64,
-    pub estimatedRows: sqlite3_int64,
-    pub idxFlags: ::std::os::raw::c_int,
-    pub colUsed: sqlite3_uint64,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_index_info_sqlite3_index_constraint {
-    pub iColumn: ::std::os::raw::c_int,
-    pub op: ::std::os::raw::c_uchar,
-    pub usable: ::std::os::raw::c_uchar,
-    pub iTermOffset: ::std::os::raw::c_int,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_index_info_sqlite3_index_constraint() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_index_info_sqlite3_index_constraint>(),
-        12usize,
-        concat!(
-            "Size of: ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint)
-        )
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_index_info_sqlite3_index_constraint>(),
-        4usize,
-        concat!(
-            "Alignment of ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info_sqlite3_index_constraint>())).iColumn
-                as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint),
-            "::",
-            stringify!(iColumn)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info_sqlite3_index_constraint>())).op as *const _
-                as usize
-        },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint),
-            "::",
-            stringify!(op)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info_sqlite3_index_constraint>())).usable
-                as *const _ as usize
-        },
-        5usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint),
-            "::",
-            stringify!(usable)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info_sqlite3_index_constraint>())).iTermOffset
-                as *const _ as usize
-        },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint),
-            "::",
-            stringify!(iTermOffset)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_index_info_sqlite3_index_orderby {
-    pub iColumn: ::std::os::raw::c_int,
-    pub desc: ::std::os::raw::c_uchar,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_index_info_sqlite3_index_orderby() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_index_info_sqlite3_index_orderby>(),
-        8usize,
-        concat!(
-            "Size of: ",
-            stringify!(sqlite3_index_info_sqlite3_index_orderby)
-        )
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_index_info_sqlite3_index_orderby>(),
-        4usize,
-        concat!(
-            "Alignment of ",
-            stringify!(sqlite3_index_info_sqlite3_index_orderby)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info_sqlite3_index_orderby>())).iColumn as *const _
-                as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info_sqlite3_index_orderby),
-            "::",
-            stringify!(iColumn)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info_sqlite3_index_orderby>())).desc as *const _
-                as usize
-        },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info_sqlite3_index_orderby),
-            "::",
-            stringify!(desc)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_index_info_sqlite3_index_constraint_usage {
-    pub argvIndex: ::std::os::raw::c_int,
-    pub omit: ::std::os::raw::c_uchar,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_index_info_sqlite3_index_constraint_usage() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_index_info_sqlite3_index_constraint_usage>(),
-        8usize,
-        concat!(
-            "Size of: ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint_usage)
-        )
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_index_info_sqlite3_index_constraint_usage>(),
-        4usize,
-        concat!(
-            "Alignment of ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint_usage)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info_sqlite3_index_constraint_usage>())).argvIndex
-                as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint_usage),
-            "::",
-            stringify!(argvIndex)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info_sqlite3_index_constraint_usage>())).omit
-                as *const _ as usize
-        },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint_usage),
-            "::",
-            stringify!(omit)
-        )
-    );
-}
-#[test]
-fn bindgen_test_layout_sqlite3_index_info() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_index_info>(),
-        64usize,
-        concat!("Size of: ", stringify!(sqlite3_index_info))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_index_info>(),
-        4usize,
-        concat!("Alignment of ", stringify!(sqlite3_index_info))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_index_info>())).nConstraint as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(nConstraint)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_index_info>())).aConstraint as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(aConstraint)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_index_info>())).nOrderBy as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(nOrderBy)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_index_info>())).aOrderBy as *const _ as usize },
-        12usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(aOrderBy)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info>())).aConstraintUsage as *const _ as usize
-        },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(aConstraintUsage)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_index_info>())).idxNum as *const _ as usize },
-        20usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(idxNum)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_index_info>())).idxStr as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(idxStr)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info>())).needToFreeIdxStr as *const _ as usize
-        },
-        28usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(needToFreeIdxStr)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info>())).orderByConsumed as *const _ as usize
-        },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(orderByConsumed)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info>())).estimatedCost as *const _ as usize
-        },
-        36usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(estimatedCost)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info>())).estimatedRows as *const _ as usize
-        },
-        44usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(estimatedRows)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_index_info>())).idxFlags as *const _ as usize },
-        52usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(idxFlags)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_index_info>())).colUsed as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(colUsed)
-        )
-    );
-}
-extern "C" {
-    pub fn sqlite3_create_module(
-        db: *mut sqlite3,
-        zName: *const ::std::os::raw::c_char,
-        p: *const sqlite3_module,
-        pClientData: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_create_module_v2(
-        db: *mut sqlite3,
-        zName: *const ::std::os::raw::c_char,
-        p: *const sqlite3_module,
-        pClientData: *mut ::std::os::raw::c_void,
-        xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_drop_modules(
-        db: *mut sqlite3,
-        azKeep: *mut *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_vtab {
-    pub pModule: *const sqlite3_module,
-    pub nRef: ::std::os::raw::c_int,
-    pub zErrMsg: *mut ::std::os::raw::c_char,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_vtab() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_vtab>(),
-        12usize,
-        concat!("Size of: ", stringify!(sqlite3_vtab))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_vtab>(),
-        4usize,
-        concat!("Alignment of ", stringify!(sqlite3_vtab))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vtab>())).pModule as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vtab),
-            "::",
-            stringify!(pModule)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vtab>())).nRef as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vtab),
-            "::",
-            stringify!(nRef)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vtab>())).zErrMsg as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vtab),
-            "::",
-            stringify!(zErrMsg)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_vtab_cursor {
-    pub pVtab: *mut sqlite3_vtab,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_vtab_cursor() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_vtab_cursor>(),
-        4usize,
-        concat!("Size of: ", stringify!(sqlite3_vtab_cursor))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_vtab_cursor>(),
-        4usize,
-        concat!("Alignment of ", stringify!(sqlite3_vtab_cursor))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vtab_cursor>())).pVtab as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vtab_cursor),
-            "::",
-            stringify!(pVtab)
-        )
-    );
-}
-extern "C" {
-    pub fn sqlite3_declare_vtab(
-        arg1: *mut sqlite3,
-        zSQL: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_overload_function(
-        arg1: *mut sqlite3,
-        zFuncName: *const ::std::os::raw::c_char,
-        nArg: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_blob {
-    _unused: [u8; 0],
-}
-extern "C" {
-    pub fn sqlite3_blob_open(
-        arg1: *mut sqlite3,
-        zDb: *const ::std::os::raw::c_char,
-        zTable: *const ::std::os::raw::c_char,
-        zColumn: *const ::std::os::raw::c_char,
-        iRow: sqlite3_int64,
-        flags: ::std::os::raw::c_int,
-        ppBlob: *mut *mut sqlite3_blob,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_blob_reopen(
-        arg1: *mut sqlite3_blob,
-        arg2: sqlite3_int64,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_blob_close(arg1: *mut sqlite3_blob) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_blob_bytes(arg1: *mut sqlite3_blob) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_blob_read(
-        arg1: *mut sqlite3_blob,
-        Z: *mut ::std::os::raw::c_void,
-        N: ::std::os::raw::c_int,
-        iOffset: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_blob_write(
-        arg1: *mut sqlite3_blob,
-        z: *const ::std::os::raw::c_void,
-        n: ::std::os::raw::c_int,
-        iOffset: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_vfs_find(zVfsName: *const ::std::os::raw::c_char) -> *mut sqlite3_vfs;
-}
-extern "C" {
-    pub fn sqlite3_vfs_register(
-        arg1: *mut sqlite3_vfs,
-        makeDflt: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_vfs_unregister(arg1: *mut sqlite3_vfs) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_mutex_alloc(arg1: ::std::os::raw::c_int) -> *mut sqlite3_mutex;
-}
-extern "C" {
-    pub fn sqlite3_mutex_free(arg1: *mut sqlite3_mutex);
-}
-extern "C" {
-    pub fn sqlite3_mutex_enter(arg1: *mut sqlite3_mutex);
-}
-extern "C" {
-    pub fn sqlite3_mutex_try(arg1: *mut sqlite3_mutex) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_mutex_leave(arg1: *mut sqlite3_mutex);
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_mutex_methods {
-    pub xMutexInit: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
-    pub xMutexEnd: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
-    pub xMutexAlloc: ::std::option::Option<
-        unsafe extern "C" fn(arg1: ::std::os::raw::c_int) -> *mut sqlite3_mutex,
-    >,
-    pub xMutexFree: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_mutex)>,
-    pub xMutexEnter: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_mutex)>,
-    pub xMutexTry: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_mutex) -> ::std::os::raw::c_int,
-    >,
-    pub xMutexLeave: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_mutex)>,
-    pub xMutexHeld: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_mutex) -> ::std::os::raw::c_int,
-    >,
-    pub xMutexNotheld: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_mutex) -> ::std::os::raw::c_int,
-    >,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_mutex_methods() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_mutex_methods>(),
-        36usize,
-        concat!("Size of: ", stringify!(sqlite3_mutex_methods))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_mutex_methods>(),
-        4usize,
-        concat!("Alignment of ", stringify!(sqlite3_mutex_methods))
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexInit as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexInit)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexEnd as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexEnd)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexAlloc as *const _ as usize
-        },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexAlloc)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexFree as *const _ as usize
-        },
-        12usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexFree)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexEnter as *const _ as usize
-        },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexEnter)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexTry as *const _ as usize },
-        20usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexTry)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexLeave as *const _ as usize
-        },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexLeave)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexHeld as *const _ as usize
-        },
-        28usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexHeld)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexNotheld as *const _ as usize
-        },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexNotheld)
-        )
-    );
-}
-extern "C" {
-    pub fn sqlite3_db_mutex(arg1: *mut sqlite3) -> *mut sqlite3_mutex;
-}
-extern "C" {
-    pub fn sqlite3_file_control(
-        arg1: *mut sqlite3,
-        zDbName: *const ::std::os::raw::c_char,
-        op: ::std::os::raw::c_int,
-        arg2: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_test_control(op: ::std::os::raw::c_int, ...) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_keyword_count() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_keyword_name(
-        arg1: ::std::os::raw::c_int,
-        arg2: *mut *const ::std::os::raw::c_char,
-        arg3: *mut ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_keyword_check(
-        arg1: *const ::std::os::raw::c_char,
-        arg2: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_str {
-    _unused: [u8; 0],
-}
-extern "C" {
-    pub fn sqlite3_str_new(arg1: *mut sqlite3) -> *mut sqlite3_str;
-}
-extern "C" {
-    pub fn sqlite3_str_finish(arg1: *mut sqlite3_str) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_str_appendf(arg1: *mut sqlite3_str, zFormat: *const ::std::os::raw::c_char, ...);
-}
-extern "C" {
-    pub fn sqlite3_str_append(
-        arg1: *mut sqlite3_str,
-        zIn: *const ::std::os::raw::c_char,
-        N: ::std::os::raw::c_int,
-    );
-}
-extern "C" {
-    pub fn sqlite3_str_appendall(arg1: *mut sqlite3_str, zIn: *const ::std::os::raw::c_char);
-}
-extern "C" {
-    pub fn sqlite3_str_appendchar(
-        arg1: *mut sqlite3_str,
-        N: ::std::os::raw::c_int,
-        C: ::std::os::raw::c_char,
-    );
-}
-extern "C" {
-    pub fn sqlite3_str_reset(arg1: *mut sqlite3_str);
-}
-extern "C" {
-    pub fn sqlite3_str_errcode(arg1: *mut sqlite3_str) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_str_length(arg1: *mut sqlite3_str) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_str_value(arg1: *mut sqlite3_str) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_status(
-        op: ::std::os::raw::c_int,
-        pCurrent: *mut ::std::os::raw::c_int,
-        pHighwater: *mut ::std::os::raw::c_int,
-        resetFlag: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_status64(
-        op: ::std::os::raw::c_int,
-        pCurrent: *mut sqlite3_int64,
-        pHighwater: *mut sqlite3_int64,
-        resetFlag: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_db_status(
-        arg1: *mut sqlite3,
-        op: ::std::os::raw::c_int,
-        pCur: *mut ::std::os::raw::c_int,
-        pHiwtr: *mut ::std::os::raw::c_int,
-        resetFlg: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_stmt_status(
-        arg1: *mut sqlite3_stmt,
-        op: ::std::os::raw::c_int,
-        resetFlg: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_pcache {
-    _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_pcache_page {
-    pub pBuf: *mut ::std::os::raw::c_void,
-    pub pExtra: *mut ::std::os::raw::c_void,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_pcache_page() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_pcache_page>(),
-        8usize,
-        concat!("Size of: ", stringify!(sqlite3_pcache_page))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_pcache_page>(),
-        4usize,
-        concat!("Alignment of ", stringify!(sqlite3_pcache_page))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_page>())).pBuf as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_page),
-            "::",
-            stringify!(pBuf)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_page>())).pExtra as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_page),
-            "::",
-            stringify!(pExtra)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_pcache_methods2 {
-    pub iVersion: ::std::os::raw::c_int,
-    pub pArg: *mut ::std::os::raw::c_void,
-    pub xInit: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
-    >,
-    pub xShutdown: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    pub xCreate: ::std::option::Option<
-        unsafe extern "C" fn(
-            szPage: ::std::os::raw::c_int,
-            szExtra: ::std::os::raw::c_int,
-            bPurgeable: ::std::os::raw::c_int,
-        ) -> *mut sqlite3_pcache,
-    >,
-    pub xCachesize: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_pcache, nCachesize: ::std::os::raw::c_int),
-    >,
-    pub xPagecount: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_pcache) -> ::std::os::raw::c_int,
-    >,
-    pub xFetch: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_pcache,
-            key: ::std::os::raw::c_uint,
-            createFlag: ::std::os::raw::c_int,
-        ) -> *mut sqlite3_pcache_page,
-    >,
-    pub xUnpin: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_pcache,
-            arg2: *mut sqlite3_pcache_page,
-            discard: ::std::os::raw::c_int,
-        ),
-    >,
-    pub xRekey: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_pcache,
-            arg2: *mut sqlite3_pcache_page,
-            oldKey: ::std::os::raw::c_uint,
-            newKey: ::std::os::raw::c_uint,
-        ),
-    >,
-    pub xTruncate: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_pcache, iLimit: ::std::os::raw::c_uint),
-    >,
-    pub xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_pcache)>,
-    pub xShrink: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_pcache)>,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_pcache_methods2() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_pcache_methods2>(),
-        52usize,
-        concat!("Size of: ", stringify!(sqlite3_pcache_methods2))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_pcache_methods2>(),
-        4usize,
-        concat!("Alignment of ", stringify!(sqlite3_pcache_methods2))
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).iVersion as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(iVersion)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).pArg as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(pArg)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xInit as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xInit)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xShutdown as *const _ as usize
-        },
-        12usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xShutdown)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xCreate as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xCreate)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xCachesize as *const _ as usize
-        },
-        20usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xCachesize)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xPagecount as *const _ as usize
-        },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xPagecount)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xFetch as *const _ as usize },
-        28usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xFetch)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xUnpin as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xUnpin)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xRekey as *const _ as usize },
-        36usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xRekey)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xTruncate as *const _ as usize
-        },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xTruncate)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xDestroy as *const _ as usize
-        },
-        44usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xDestroy)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xShrink as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xShrink)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_pcache_methods {
-    pub pArg: *mut ::std::os::raw::c_void,
-    pub xInit: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
-    >,
-    pub xShutdown: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    pub xCreate: ::std::option::Option<
-        unsafe extern "C" fn(
-            szPage: ::std::os::raw::c_int,
-            bPurgeable: ::std::os::raw::c_int,
-        ) -> *mut sqlite3_pcache,
-    >,
-    pub xCachesize: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_pcache, nCachesize: ::std::os::raw::c_int),
-    >,
-    pub xPagecount: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_pcache) -> ::std::os::raw::c_int,
-    >,
-    pub xFetch: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_pcache,
-            key: ::std::os::raw::c_uint,
-            createFlag: ::std::os::raw::c_int,
-        ) -> *mut ::std::os::raw::c_void,
-    >,
-    pub xUnpin: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_pcache,
-            arg2: *mut ::std::os::raw::c_void,
-            discard: ::std::os::raw::c_int,
-        ),
-    >,
-    pub xRekey: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_pcache,
-            arg2: *mut ::std::os::raw::c_void,
-            oldKey: ::std::os::raw::c_uint,
-            newKey: ::std::os::raw::c_uint,
-        ),
-    >,
-    pub xTruncate: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_pcache, iLimit: ::std::os::raw::c_uint),
-    >,
-    pub xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_pcache)>,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_pcache_methods() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_pcache_methods>(),
-        44usize,
-        concat!("Size of: ", stringify!(sqlite3_pcache_methods))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_pcache_methods>(),
-        4usize,
-        concat!("Alignment of ", stringify!(sqlite3_pcache_methods))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods>())).pArg as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(pArg)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xInit as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xInit)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xShutdown as *const _ as usize
-        },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xShutdown)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xCreate as *const _ as usize },
-        12usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xCreate)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xCachesize as *const _ as usize
-        },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xCachesize)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xPagecount as *const _ as usize
-        },
-        20usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xPagecount)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xFetch as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xFetch)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xUnpin as *const _ as usize },
-        28usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xUnpin)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xRekey as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xRekey)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xTruncate as *const _ as usize
-        },
-        36usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xTruncate)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xDestroy as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xDestroy)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_backup {
-    _unused: [u8; 0],
-}
-extern "C" {
-    pub fn sqlite3_backup_init(
-        pDest: *mut sqlite3,
-        zDestName: *const ::std::os::raw::c_char,
-        pSource: *mut sqlite3,
-        zSourceName: *const ::std::os::raw::c_char,
-    ) -> *mut sqlite3_backup;
-}
-extern "C" {
-    pub fn sqlite3_backup_step(
-        p: *mut sqlite3_backup,
-        nPage: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_backup_finish(p: *mut sqlite3_backup) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_backup_remaining(p: *mut sqlite3_backup) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_backup_pagecount(p: *mut sqlite3_backup) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_unlock_notify(
-        pBlocked: *mut sqlite3,
-        xNotify: ::std::option::Option<
-            unsafe extern "C" fn(
-                apArg: *mut *mut ::std::os::raw::c_void,
-                nArg: ::std::os::raw::c_int,
-            ),
-        >,
-        pNotifyArg: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_stricmp(
-        arg1: *const ::std::os::raw::c_char,
-        arg2: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_strnicmp(
-        arg1: *const ::std::os::raw::c_char,
-        arg2: *const ::std::os::raw::c_char,
-        arg3: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_strglob(
-        zGlob: *const ::std::os::raw::c_char,
-        zStr: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_strlike(
-        zGlob: *const ::std::os::raw::c_char,
-        zStr: *const ::std::os::raw::c_char,
-        cEsc: ::std::os::raw::c_uint,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_log(
-        iErrCode: ::std::os::raw::c_int,
-        zFormat: *const ::std::os::raw::c_char,
-        ...
-    );
-}
-extern "C" {
-    pub fn sqlite3_wal_hook(
-        arg1: *mut sqlite3,
-        arg2: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: *mut sqlite3,
-                arg3: *const ::std::os::raw::c_char,
-                arg4: ::std::os::raw::c_int,
-            ) -> ::std::os::raw::c_int,
-        >,
-        arg3: *mut ::std::os::raw::c_void,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_wal_autocheckpoint(
-        db: *mut sqlite3,
-        N: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_wal_checkpoint(
-        db: *mut sqlite3,
-        zDb: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_wal_checkpoint_v2(
-        db: *mut sqlite3,
-        zDb: *const ::std::os::raw::c_char,
-        eMode: ::std::os::raw::c_int,
-        pnLog: *mut ::std::os::raw::c_int,
-        pnCkpt: *mut ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_vtab_config(
-        arg1: *mut sqlite3,
-        op: ::std::os::raw::c_int,
-        ...
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_vtab_on_conflict(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_vtab_nochange(arg1: *mut sqlite3_context) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_vtab_collation(
-        arg1: *mut sqlite3_index_info,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_stmt_scanstatus(
-        pStmt: *mut sqlite3_stmt,
-        idx: ::std::os::raw::c_int,
-        iScanStatusOp: ::std::os::raw::c_int,
-        pOut: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_stmt_scanstatus_reset(arg1: *mut sqlite3_stmt);
-}
-extern "C" {
-    pub fn sqlite3_db_cacheflush(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_system_errno(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct sqlite3_snapshot {
-    pub hidden: [::std::os::raw::c_uchar; 48usize],
-}
-#[test]
-fn bindgen_test_layout_sqlite3_snapshot() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_snapshot>(),
-        48usize,
-        concat!("Size of: ", stringify!(sqlite3_snapshot))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_snapshot>(),
-        1usize,
-        concat!("Alignment of ", stringify!(sqlite3_snapshot))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_snapshot>())).hidden as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_snapshot),
-            "::",
-            stringify!(hidden)
-        )
-    );
-}
-extern "C" {
-    pub fn sqlite3_snapshot_get(
-        db: *mut sqlite3,
-        zSchema: *const ::std::os::raw::c_char,
-        ppSnapshot: *mut *mut sqlite3_snapshot,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_snapshot_open(
-        db: *mut sqlite3,
-        zSchema: *const ::std::os::raw::c_char,
-        pSnapshot: *mut sqlite3_snapshot,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_snapshot_free(arg1: *mut sqlite3_snapshot);
-}
-extern "C" {
-    pub fn sqlite3_snapshot_cmp(
-        p1: *mut sqlite3_snapshot,
-        p2: *mut sqlite3_snapshot,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_snapshot_recover(
-        db: *mut sqlite3,
-        zDb: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_serialize(
-        db: *mut sqlite3,
-        zSchema: *const ::std::os::raw::c_char,
-        piSize: *mut sqlite3_int64,
-        mFlags: ::std::os::raw::c_uint,
-    ) -> *mut ::std::os::raw::c_uchar;
-}
-extern "C" {
-    pub fn sqlite3_deserialize(
-        db: *mut sqlite3,
-        zSchema: *const ::std::os::raw::c_char,
-        pData: *mut ::std::os::raw::c_uchar,
-        szDb: sqlite3_int64,
-        szBuf: sqlite3_int64,
-        mFlags: ::std::os::raw::c_uint,
-    ) -> ::std::os::raw::c_int;
-}
-pub type sqlite3_rtree_dbl = f64;
-extern "C" {
-    pub fn sqlite3_rtree_geometry_callback(
-        db: *mut sqlite3,
-        zGeom: *const ::std::os::raw::c_char,
-        xGeom: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_rtree_geometry,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut sqlite3_rtree_dbl,
-                arg4: *mut ::std::os::raw::c_int,
-            ) -> ::std::os::raw::c_int,
-        >,
-        pContext: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_rtree_geometry {
-    pub pContext: *mut ::std::os::raw::c_void,
-    pub nParam: ::std::os::raw::c_int,
-    pub aParam: *mut sqlite3_rtree_dbl,
-    pub pUser: *mut ::std::os::raw::c_void,
-    pub xDelUser: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_rtree_geometry() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_rtree_geometry>(),
-        20usize,
-        concat!("Size of: ", stringify!(sqlite3_rtree_geometry))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_rtree_geometry>(),
-        4usize,
-        concat!("Alignment of ", stringify!(sqlite3_rtree_geometry))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_geometry>())).pContext as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_geometry),
-            "::",
-            stringify!(pContext)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_geometry>())).nParam as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_geometry),
-            "::",
-            stringify!(nParam)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_geometry>())).aParam as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_geometry),
-            "::",
-            stringify!(aParam)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_geometry>())).pUser as *const _ as usize },
-        12usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_geometry),
-            "::",
-            stringify!(pUser)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_geometry>())).xDelUser as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_geometry),
-            "::",
-            stringify!(xDelUser)
-        )
-    );
-}
-extern "C" {
-    pub fn sqlite3_rtree_query_callback(
-        db: *mut sqlite3,
-        zQueryFunc: *const ::std::os::raw::c_char,
-        xQueryFunc: ::std::option::Option<
-            unsafe extern "C" fn(arg1: *mut sqlite3_rtree_query_info) -> ::std::os::raw::c_int,
-        >,
-        pContext: *mut ::std::os::raw::c_void,
-        xDestructor: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_rtree_query_info {
-    pub pContext: *mut ::std::os::raw::c_void,
-    pub nParam: ::std::os::raw::c_int,
-    pub aParam: *mut sqlite3_rtree_dbl,
-    pub pUser: *mut ::std::os::raw::c_void,
-    pub xDelUser: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    pub aCoord: *mut sqlite3_rtree_dbl,
-    pub anQueue: *mut ::std::os::raw::c_uint,
-    pub nCoord: ::std::os::raw::c_int,
-    pub iLevel: ::std::os::raw::c_int,
-    pub mxLevel: ::std::os::raw::c_int,
-    pub iRowid: sqlite3_int64,
-    pub rParentScore: sqlite3_rtree_dbl,
-    pub eParentWithin: ::std::os::raw::c_int,
-    pub eWithin: ::std::os::raw::c_int,
-    pub rScore: sqlite3_rtree_dbl,
-    pub apSqlParam: *mut *mut sqlite3_value,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_rtree_query_info() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_rtree_query_info>(),
-        76usize,
-        concat!("Size of: ", stringify!(sqlite3_rtree_query_info))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_rtree_query_info>(),
-        4usize,
-        concat!("Alignment of ", stringify!(sqlite3_rtree_query_info))
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).pContext as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(pContext)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).nParam as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(nParam)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).aParam as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(aParam)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).pUser as *const _ as usize },
-        12usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(pUser)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).xDelUser as *const _ as usize
-        },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(xDelUser)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).aCoord as *const _ as usize },
-        20usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(aCoord)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).anQueue as *const _ as usize
-        },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(anQueue)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).nCoord as *const _ as usize },
-        28usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(nCoord)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).iLevel as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(iLevel)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).mxLevel as *const _ as usize
-        },
-        36usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(mxLevel)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).iRowid as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(iRowid)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).rParentScore as *const _ as usize
-        },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(rParentScore)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).eParentWithin as *const _ as usize
-        },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(eParentWithin)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).eWithin as *const _ as usize
-        },
-        60usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(eWithin)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).rScore as *const _ as usize },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(rScore)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).apSqlParam as *const _ as usize
-        },
-        72usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(apSqlParam)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct Fts5Context {
-    _unused: [u8; 0],
-}
-pub type fts5_extension_function = ::std::option::Option<
-    unsafe extern "C" fn(
-        pApi: *const Fts5ExtensionApi,
-        pFts: *mut Fts5Context,
-        pCtx: *mut sqlite3_context,
-        nVal: ::std::os::raw::c_int,
-        apVal: *mut *mut sqlite3_value,
-    ),
->;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct Fts5PhraseIter {
-    pub a: *const ::std::os::raw::c_uchar,
-    pub b: *const ::std::os::raw::c_uchar,
-}
-#[test]
-fn bindgen_test_layout_Fts5PhraseIter() {
-    assert_eq!(
-        ::std::mem::size_of::<Fts5PhraseIter>(),
-        8usize,
-        concat!("Size of: ", stringify!(Fts5PhraseIter))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<Fts5PhraseIter>(),
-        4usize,
-        concat!("Alignment of ", stringify!(Fts5PhraseIter))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5PhraseIter>())).a as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5PhraseIter),
-            "::",
-            stringify!(a)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5PhraseIter>())).b as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5PhraseIter),
-            "::",
-            stringify!(b)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct Fts5ExtensionApi {
-    pub iVersion: ::std::os::raw::c_int,
-    pub xUserData: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut Fts5Context) -> *mut ::std::os::raw::c_void,
-    >,
-    pub xColumnCount: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut Fts5Context) -> ::std::os::raw::c_int,
-    >,
-    pub xRowCount: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            pnRow: *mut sqlite3_int64,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xColumnTotalSize: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            iCol: ::std::os::raw::c_int,
-            pnToken: *mut sqlite3_int64,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xTokenize: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            pText: *const ::std::os::raw::c_char,
-            nText: ::std::os::raw::c_int,
-            pCtx: *mut ::std::os::raw::c_void,
-            xToken: ::std::option::Option<
-                unsafe extern "C" fn(
-                    arg1: *mut ::std::os::raw::c_void,
-                    arg2: ::std::os::raw::c_int,
-                    arg3: *const ::std::os::raw::c_char,
-                    arg4: ::std::os::raw::c_int,
-                    arg5: ::std::os::raw::c_int,
-                    arg6: ::std::os::raw::c_int,
-                ) -> ::std::os::raw::c_int,
-            >,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xPhraseCount: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut Fts5Context) -> ::std::os::raw::c_int,
-    >,
-    pub xPhraseSize: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            iPhrase: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xInstCount: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            pnInst: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xInst: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            iIdx: ::std::os::raw::c_int,
-            piPhrase: *mut ::std::os::raw::c_int,
-            piCol: *mut ::std::os::raw::c_int,
-            piOff: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xRowid:
-        ::std::option::Option<unsafe extern "C" fn(arg1: *mut Fts5Context) -> sqlite3_int64>,
-    pub xColumnText: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            iCol: ::std::os::raw::c_int,
-            pz: *mut *const ::std::os::raw::c_char,
-            pn: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xColumnSize: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            iCol: ::std::os::raw::c_int,
-            pnToken: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xQueryPhrase: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            iPhrase: ::std::os::raw::c_int,
-            pUserData: *mut ::std::os::raw::c_void,
-            arg2: ::std::option::Option<
-                unsafe extern "C" fn(
-                    arg1: *const Fts5ExtensionApi,
-                    arg2: *mut Fts5Context,
-                    arg3: *mut ::std::os::raw::c_void,
-                ) -> ::std::os::raw::c_int,
-            >,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xSetAuxdata: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            pAux: *mut ::std::os::raw::c_void,
-            xDelete: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xGetAuxdata: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            bClear: ::std::os::raw::c_int,
-        ) -> *mut ::std::os::raw::c_void,
-    >,
-    pub xPhraseFirst: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            iPhrase: ::std::os::raw::c_int,
-            arg2: *mut Fts5PhraseIter,
-            arg3: *mut ::std::os::raw::c_int,
-            arg4: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xPhraseNext: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            arg2: *mut Fts5PhraseIter,
-            piCol: *mut ::std::os::raw::c_int,
-            piOff: *mut ::std::os::raw::c_int,
-        ),
-    >,
-    pub xPhraseFirstColumn: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            iPhrase: ::std::os::raw::c_int,
-            arg2: *mut Fts5PhraseIter,
-            arg3: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xPhraseNextColumn: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            arg2: *mut Fts5PhraseIter,
-            piCol: *mut ::std::os::raw::c_int,
-        ),
-    >,
-}
-#[test]
-fn bindgen_test_layout_Fts5ExtensionApi() {
-    assert_eq!(
-        ::std::mem::size_of::<Fts5ExtensionApi>(),
-        80usize,
-        concat!("Size of: ", stringify!(Fts5ExtensionApi))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<Fts5ExtensionApi>(),
-        4usize,
-        concat!("Alignment of ", stringify!(Fts5ExtensionApi))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).iVersion as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(iVersion)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xUserData as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xUserData)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xColumnCount as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xColumnCount)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xRowCount as *const _ as usize },
-        12usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xRowCount)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<Fts5ExtensionApi>())).xColumnTotalSize as *const _ as usize
-        },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xColumnTotalSize)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xTokenize as *const _ as usize },
-        20usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xTokenize)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xPhraseCount as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xPhraseCount)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xPhraseSize as *const _ as usize },
-        28usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xPhraseSize)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xInstCount as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xInstCount)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xInst as *const _ as usize },
-        36usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xInst)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xRowid as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xRowid)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xColumnText as *const _ as usize },
-        44usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xColumnText)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xColumnSize as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xColumnSize)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xQueryPhrase as *const _ as usize },
-        52usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xQueryPhrase)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xSetAuxdata as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xSetAuxdata)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xGetAuxdata as *const _ as usize },
-        60usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xGetAuxdata)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xPhraseFirst as *const _ as usize },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xPhraseFirst)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xPhraseNext as *const _ as usize },
-        68usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xPhraseNext)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<Fts5ExtensionApi>())).xPhraseFirstColumn as *const _ as usize
-        },
-        72usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xPhraseFirstColumn)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<Fts5ExtensionApi>())).xPhraseNextColumn as *const _ as usize
-        },
-        76usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xPhraseNextColumn)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct Fts5Tokenizer {
-    _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct fts5_tokenizer {
-    pub xCreate: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut ::std::os::raw::c_void,
-            azArg: *mut *const ::std::os::raw::c_char,
-            nArg: ::std::os::raw::c_int,
-            ppOut: *mut *mut Fts5Tokenizer,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xDelete: ::std::option::Option<unsafe extern "C" fn(arg1: *mut Fts5Tokenizer)>,
-    pub xTokenize: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Tokenizer,
-            pCtx: *mut ::std::os::raw::c_void,
-            flags: ::std::os::raw::c_int,
-            pText: *const ::std::os::raw::c_char,
-            nText: ::std::os::raw::c_int,
-            xToken: ::std::option::Option<
-                unsafe extern "C" fn(
-                    pCtx: *mut ::std::os::raw::c_void,
-                    tflags: ::std::os::raw::c_int,
-                    pToken: *const ::std::os::raw::c_char,
-                    nToken: ::std::os::raw::c_int,
-                    iStart: ::std::os::raw::c_int,
-                    iEnd: ::std::os::raw::c_int,
-                ) -> ::std::os::raw::c_int,
-            >,
-        ) -> ::std::os::raw::c_int,
-    >,
-}
-#[test]
-fn bindgen_test_layout_fts5_tokenizer() {
-    assert_eq!(
-        ::std::mem::size_of::<fts5_tokenizer>(),
-        12usize,
-        concat!("Size of: ", stringify!(fts5_tokenizer))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<fts5_tokenizer>(),
-        4usize,
-        concat!("Alignment of ", stringify!(fts5_tokenizer))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<fts5_tokenizer>())).xCreate as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(fts5_tokenizer),
-            "::",
-            stringify!(xCreate)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<fts5_tokenizer>())).xDelete as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(fts5_tokenizer),
-            "::",
-            stringify!(xDelete)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<fts5_tokenizer>())).xTokenize as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(fts5_tokenizer),
-            "::",
-            stringify!(xTokenize)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct fts5_api {
-    pub iVersion: ::std::os::raw::c_int,
-    pub xCreateTokenizer: ::std::option::Option<
-        unsafe extern "C" fn(
-            pApi: *mut fts5_api,
-            zName: *const ::std::os::raw::c_char,
-            pContext: *mut ::std::os::raw::c_void,
-            pTokenizer: *mut fts5_tokenizer,
-            xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xFindTokenizer: ::std::option::Option<
-        unsafe extern "C" fn(
-            pApi: *mut fts5_api,
-            zName: *const ::std::os::raw::c_char,
-            ppContext: *mut *mut ::std::os::raw::c_void,
-            pTokenizer: *mut fts5_tokenizer,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xCreateFunction: ::std::option::Option<
-        unsafe extern "C" fn(
-            pApi: *mut fts5_api,
-            zName: *const ::std::os::raw::c_char,
-            pContext: *mut ::std::os::raw::c_void,
-            xFunction: fts5_extension_function,
-            xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-        ) -> ::std::os::raw::c_int,
-    >,
-}
-#[test]
-fn bindgen_test_layout_fts5_api() {
-    assert_eq!(
-        ::std::mem::size_of::<fts5_api>(),
-        16usize,
-        concat!("Size of: ", stringify!(fts5_api))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<fts5_api>(),
-        4usize,
-        concat!("Alignment of ", stringify!(fts5_api))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<fts5_api>())).iVersion as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(fts5_api),
-            "::",
-            stringify!(iVersion)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<fts5_api>())).xCreateTokenizer as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(fts5_api),
-            "::",
-            stringify!(xCreateTokenizer)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<fts5_api>())).xFindTokenizer as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(fts5_api),
-            "::",
-            stringify!(xFindTokenizer)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<fts5_api>())).xCreateFunction as *const _ as usize },
-        12usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(fts5_api),
-            "::",
-            stringify!(xCreateFunction)
-        )
-    );
-}
diff --git a/android/x86_64/bindings.rs b/android/x86_64/bindings.rs
deleted file mode 100644
index 52e9a58..0000000
--- a/android/x86_64/bindings.rs
+++ /dev/null
@@ -1,5201 +0,0 @@
-/* automatically generated by rust-bindgen (unknown version) */
-
-pub const SQLITE_VERSION: &'static [u8; 7usize] = b"3.32.2\0";
-pub const SQLITE_VERSION_NUMBER: i32 = 3032002;
-pub const SQLITE_SOURCE_ID: &'static [u8; 85usize] =
-    b"2020-06-04 12:58:43 ec02243ea6ce33b090870ae55ab8aa2534b54d216d45c4aa2fdbb00e86861e8c\0";
-pub const SQLITE_OK: i32 = 0;
-pub const SQLITE_ERROR: i32 = 1;
-pub const SQLITE_INTERNAL: i32 = 2;
-pub const SQLITE_PERM: i32 = 3;
-pub const SQLITE_ABORT: i32 = 4;
-pub const SQLITE_BUSY: i32 = 5;
-pub const SQLITE_LOCKED: i32 = 6;
-pub const SQLITE_NOMEM: i32 = 7;
-pub const SQLITE_READONLY: i32 = 8;
-pub const SQLITE_INTERRUPT: i32 = 9;
-pub const SQLITE_IOERR: i32 = 10;
-pub const SQLITE_CORRUPT: i32 = 11;
-pub const SQLITE_NOTFOUND: i32 = 12;
-pub const SQLITE_FULL: i32 = 13;
-pub const SQLITE_CANTOPEN: i32 = 14;
-pub const SQLITE_PROTOCOL: i32 = 15;
-pub const SQLITE_EMPTY: i32 = 16;
-pub const SQLITE_SCHEMA: i32 = 17;
-pub const SQLITE_TOOBIG: i32 = 18;
-pub const SQLITE_CONSTRAINT: i32 = 19;
-pub const SQLITE_MISMATCH: i32 = 20;
-pub const SQLITE_MISUSE: i32 = 21;
-pub const SQLITE_NOLFS: i32 = 22;
-pub const SQLITE_AUTH: i32 = 23;
-pub const SQLITE_FORMAT: i32 = 24;
-pub const SQLITE_RANGE: i32 = 25;
-pub const SQLITE_NOTADB: i32 = 26;
-pub const SQLITE_NOTICE: i32 = 27;
-pub const SQLITE_WARNING: i32 = 28;
-pub const SQLITE_ROW: i32 = 100;
-pub const SQLITE_DONE: i32 = 101;
-pub const SQLITE_ERROR_MISSING_COLLSEQ: i32 = 257;
-pub const SQLITE_ERROR_RETRY: i32 = 513;
-pub const SQLITE_ERROR_SNAPSHOT: i32 = 769;
-pub const SQLITE_IOERR_READ: i32 = 266;
-pub const SQLITE_IOERR_SHORT_READ: i32 = 522;
-pub const SQLITE_IOERR_WRITE: i32 = 778;
-pub const SQLITE_IOERR_FSYNC: i32 = 1034;
-pub const SQLITE_IOERR_DIR_FSYNC: i32 = 1290;
-pub const SQLITE_IOERR_TRUNCATE: i32 = 1546;
-pub const SQLITE_IOERR_FSTAT: i32 = 1802;
-pub const SQLITE_IOERR_UNLOCK: i32 = 2058;
-pub const SQLITE_IOERR_RDLOCK: i32 = 2314;
-pub const SQLITE_IOERR_DELETE: i32 = 2570;
-pub const SQLITE_IOERR_BLOCKED: i32 = 2826;
-pub const SQLITE_IOERR_NOMEM: i32 = 3082;
-pub const SQLITE_IOERR_ACCESS: i32 = 3338;
-pub const SQLITE_IOERR_CHECKRESERVEDLOCK: i32 = 3594;
-pub const SQLITE_IOERR_LOCK: i32 = 3850;
-pub const SQLITE_IOERR_CLOSE: i32 = 4106;
-pub const SQLITE_IOERR_DIR_CLOSE: i32 = 4362;
-pub const SQLITE_IOERR_SHMOPEN: i32 = 4618;
-pub const SQLITE_IOERR_SHMSIZE: i32 = 4874;
-pub const SQLITE_IOERR_SHMLOCK: i32 = 5130;
-pub const SQLITE_IOERR_SHMMAP: i32 = 5386;
-pub const SQLITE_IOERR_SEEK: i32 = 5642;
-pub const SQLITE_IOERR_DELETE_NOENT: i32 = 5898;
-pub const SQLITE_IOERR_MMAP: i32 = 6154;
-pub const SQLITE_IOERR_GETTEMPPATH: i32 = 6410;
-pub const SQLITE_IOERR_CONVPATH: i32 = 6666;
-pub const SQLITE_IOERR_VNODE: i32 = 6922;
-pub const SQLITE_IOERR_AUTH: i32 = 7178;
-pub const SQLITE_IOERR_BEGIN_ATOMIC: i32 = 7434;
-pub const SQLITE_IOERR_COMMIT_ATOMIC: i32 = 7690;
-pub const SQLITE_IOERR_ROLLBACK_ATOMIC: i32 = 7946;
-pub const SQLITE_IOERR_DATA: i32 = 8202;
-pub const SQLITE_LOCKED_SHAREDCACHE: i32 = 262;
-pub const SQLITE_LOCKED_VTAB: i32 = 518;
-pub const SQLITE_BUSY_RECOVERY: i32 = 261;
-pub const SQLITE_BUSY_SNAPSHOT: i32 = 517;
-pub const SQLITE_BUSY_TIMEOUT: i32 = 773;
-pub const SQLITE_CANTOPEN_NOTEMPDIR: i32 = 270;
-pub const SQLITE_CANTOPEN_ISDIR: i32 = 526;
-pub const SQLITE_CANTOPEN_FULLPATH: i32 = 782;
-pub const SQLITE_CANTOPEN_CONVPATH: i32 = 1038;
-pub const SQLITE_CANTOPEN_DIRTYWAL: i32 = 1294;
-pub const SQLITE_CANTOPEN_SYMLINK: i32 = 1550;
-pub const SQLITE_CORRUPT_VTAB: i32 = 267;
-pub const SQLITE_CORRUPT_SEQUENCE: i32 = 523;
-pub const SQLITE_CORRUPT_INDEX: i32 = 779;
-pub const SQLITE_READONLY_RECOVERY: i32 = 264;
-pub const SQLITE_READONLY_CANTLOCK: i32 = 520;
-pub const SQLITE_READONLY_ROLLBACK: i32 = 776;
-pub const SQLITE_READONLY_DBMOVED: i32 = 1032;
-pub const SQLITE_READONLY_CANTINIT: i32 = 1288;
-pub const SQLITE_READONLY_DIRECTORY: i32 = 1544;
-pub const SQLITE_ABORT_ROLLBACK: i32 = 516;
-pub const SQLITE_CONSTRAINT_CHECK: i32 = 275;
-pub const SQLITE_CONSTRAINT_COMMITHOOK: i32 = 531;
-pub const SQLITE_CONSTRAINT_FOREIGNKEY: i32 = 787;
-pub const SQLITE_CONSTRAINT_FUNCTION: i32 = 1043;
-pub const SQLITE_CONSTRAINT_NOTNULL: i32 = 1299;
-pub const SQLITE_CONSTRAINT_PRIMARYKEY: i32 = 1555;
-pub const SQLITE_CONSTRAINT_TRIGGER: i32 = 1811;
-pub const SQLITE_CONSTRAINT_UNIQUE: i32 = 2067;
-pub const SQLITE_CONSTRAINT_VTAB: i32 = 2323;
-pub const SQLITE_CONSTRAINT_ROWID: i32 = 2579;
-pub const SQLITE_CONSTRAINT_PINNED: i32 = 2835;
-pub const SQLITE_NOTICE_RECOVER_WAL: i32 = 283;
-pub const SQLITE_NOTICE_RECOVER_ROLLBACK: i32 = 539;
-pub const SQLITE_WARNING_AUTOINDEX: i32 = 284;
-pub const SQLITE_AUTH_USER: i32 = 279;
-pub const SQLITE_OK_LOAD_PERMANENTLY: i32 = 256;
-pub const SQLITE_OK_SYMLINK: i32 = 512;
-pub const SQLITE_OPEN_READONLY: i32 = 1;
-pub const SQLITE_OPEN_READWRITE: i32 = 2;
-pub const SQLITE_OPEN_CREATE: i32 = 4;
-pub const SQLITE_OPEN_DELETEONCLOSE: i32 = 8;
-pub const SQLITE_OPEN_EXCLUSIVE: i32 = 16;
-pub const SQLITE_OPEN_AUTOPROXY: i32 = 32;
-pub const SQLITE_OPEN_URI: i32 = 64;
-pub const SQLITE_OPEN_MEMORY: i32 = 128;
-pub const SQLITE_OPEN_MAIN_DB: i32 = 256;
-pub const SQLITE_OPEN_TEMP_DB: i32 = 512;
-pub const SQLITE_OPEN_TRANSIENT_DB: i32 = 1024;
-pub const SQLITE_OPEN_MAIN_JOURNAL: i32 = 2048;
-pub const SQLITE_OPEN_TEMP_JOURNAL: i32 = 4096;
-pub const SQLITE_OPEN_SUBJOURNAL: i32 = 8192;
-pub const SQLITE_OPEN_MASTER_JOURNAL: i32 = 16384;
-pub const SQLITE_OPEN_NOMUTEX: i32 = 32768;
-pub const SQLITE_OPEN_FULLMUTEX: i32 = 65536;
-pub const SQLITE_OPEN_SHAREDCACHE: i32 = 131072;
-pub const SQLITE_OPEN_PRIVATECACHE: i32 = 262144;
-pub const SQLITE_OPEN_WAL: i32 = 524288;
-pub const SQLITE_OPEN_NOFOLLOW: i32 = 16777216;
-pub const SQLITE_IOCAP_ATOMIC: i32 = 1;
-pub const SQLITE_IOCAP_ATOMIC512: i32 = 2;
-pub const SQLITE_IOCAP_ATOMIC1K: i32 = 4;
-pub const SQLITE_IOCAP_ATOMIC2K: i32 = 8;
-pub const SQLITE_IOCAP_ATOMIC4K: i32 = 16;
-pub const SQLITE_IOCAP_ATOMIC8K: i32 = 32;
-pub const SQLITE_IOCAP_ATOMIC16K: i32 = 64;
-pub const SQLITE_IOCAP_ATOMIC32K: i32 = 128;
-pub const SQLITE_IOCAP_ATOMIC64K: i32 = 256;
-pub const SQLITE_IOCAP_SAFE_APPEND: i32 = 512;
-pub const SQLITE_IOCAP_SEQUENTIAL: i32 = 1024;
-pub const SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN: i32 = 2048;
-pub const SQLITE_IOCAP_POWERSAFE_OVERWRITE: i32 = 4096;
-pub const SQLITE_IOCAP_IMMUTABLE: i32 = 8192;
-pub const SQLITE_IOCAP_BATCH_ATOMIC: i32 = 16384;
-pub const SQLITE_LOCK_NONE: i32 = 0;
-pub const SQLITE_LOCK_SHARED: i32 = 1;
-pub const SQLITE_LOCK_RESERVED: i32 = 2;
-pub const SQLITE_LOCK_PENDING: i32 = 3;
-pub const SQLITE_LOCK_EXCLUSIVE: i32 = 4;
-pub const SQLITE_SYNC_NORMAL: i32 = 2;
-pub const SQLITE_SYNC_FULL: i32 = 3;
-pub const SQLITE_SYNC_DATAONLY: i32 = 16;
-pub const SQLITE_FCNTL_LOCKSTATE: i32 = 1;
-pub const SQLITE_FCNTL_GET_LOCKPROXYFILE: i32 = 2;
-pub const SQLITE_FCNTL_SET_LOCKPROXYFILE: i32 = 3;
-pub const SQLITE_FCNTL_LAST_ERRNO: i32 = 4;
-pub const SQLITE_FCNTL_SIZE_HINT: i32 = 5;
-pub const SQLITE_FCNTL_CHUNK_SIZE: i32 = 6;
-pub const SQLITE_FCNTL_FILE_POINTER: i32 = 7;
-pub const SQLITE_FCNTL_SYNC_OMITTED: i32 = 8;
-pub const SQLITE_FCNTL_WIN32_AV_RETRY: i32 = 9;
-pub const SQLITE_FCNTL_PERSIST_WAL: i32 = 10;
-pub const SQLITE_FCNTL_OVERWRITE: i32 = 11;
-pub const SQLITE_FCNTL_VFSNAME: i32 = 12;
-pub const SQLITE_FCNTL_POWERSAFE_OVERWRITE: i32 = 13;
-pub const SQLITE_FCNTL_PRAGMA: i32 = 14;
-pub const SQLITE_FCNTL_BUSYHANDLER: i32 = 15;
-pub const SQLITE_FCNTL_TEMPFILENAME: i32 = 16;
-pub const SQLITE_FCNTL_MMAP_SIZE: i32 = 18;
-pub const SQLITE_FCNTL_TRACE: i32 = 19;
-pub const SQLITE_FCNTL_HAS_MOVED: i32 = 20;
-pub const SQLITE_FCNTL_SYNC: i32 = 21;
-pub const SQLITE_FCNTL_COMMIT_PHASETWO: i32 = 22;
-pub const SQLITE_FCNTL_WIN32_SET_HANDLE: i32 = 23;
-pub const SQLITE_FCNTL_WAL_BLOCK: i32 = 24;
-pub const SQLITE_FCNTL_ZIPVFS: i32 = 25;
-pub const SQLITE_FCNTL_RBU: i32 = 26;
-pub const SQLITE_FCNTL_VFS_POINTER: i32 = 27;
-pub const SQLITE_FCNTL_JOURNAL_POINTER: i32 = 28;
-pub const SQLITE_FCNTL_WIN32_GET_HANDLE: i32 = 29;
-pub const SQLITE_FCNTL_PDB: i32 = 30;
-pub const SQLITE_FCNTL_BEGIN_ATOMIC_WRITE: i32 = 31;
-pub const SQLITE_FCNTL_COMMIT_ATOMIC_WRITE: i32 = 32;
-pub const SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE: i32 = 33;
-pub const SQLITE_FCNTL_LOCK_TIMEOUT: i32 = 34;
-pub const SQLITE_FCNTL_DATA_VERSION: i32 = 35;
-pub const SQLITE_FCNTL_SIZE_LIMIT: i32 = 36;
-pub const SQLITE_FCNTL_CKPT_DONE: i32 = 37;
-pub const SQLITE_FCNTL_RESERVE_BYTES: i32 = 38;
-pub const SQLITE_FCNTL_CKPT_START: i32 = 39;
-pub const SQLITE_GET_LOCKPROXYFILE: i32 = 2;
-pub const SQLITE_SET_LOCKPROXYFILE: i32 = 3;
-pub const SQLITE_LAST_ERRNO: i32 = 4;
-pub const SQLITE_ACCESS_EXISTS: i32 = 0;
-pub const SQLITE_ACCESS_READWRITE: i32 = 1;
-pub const SQLITE_ACCESS_READ: i32 = 2;
-pub const SQLITE_SHM_UNLOCK: i32 = 1;
-pub const SQLITE_SHM_LOCK: i32 = 2;
-pub const SQLITE_SHM_SHARED: i32 = 4;
-pub const SQLITE_SHM_EXCLUSIVE: i32 = 8;
-pub const SQLITE_SHM_NLOCK: i32 = 8;
-pub const SQLITE_CONFIG_SINGLETHREAD: i32 = 1;
-pub const SQLITE_CONFIG_MULTITHREAD: i32 = 2;
-pub const SQLITE_CONFIG_SERIALIZED: i32 = 3;
-pub const SQLITE_CONFIG_MALLOC: i32 = 4;
-pub const SQLITE_CONFIG_GETMALLOC: i32 = 5;
-pub const SQLITE_CONFIG_SCRATCH: i32 = 6;
-pub const SQLITE_CONFIG_PAGECACHE: i32 = 7;
-pub const SQLITE_CONFIG_HEAP: i32 = 8;
-pub const SQLITE_CONFIG_MEMSTATUS: i32 = 9;
-pub const SQLITE_CONFIG_MUTEX: i32 = 10;
-pub const SQLITE_CONFIG_GETMUTEX: i32 = 11;
-pub const SQLITE_CONFIG_LOOKASIDE: i32 = 13;
-pub const SQLITE_CONFIG_PCACHE: i32 = 14;
-pub const SQLITE_CONFIG_GETPCACHE: i32 = 15;
-pub const SQLITE_CONFIG_LOG: i32 = 16;
-pub const SQLITE_CONFIG_URI: i32 = 17;
-pub const SQLITE_CONFIG_PCACHE2: i32 = 18;
-pub const SQLITE_CONFIG_GETPCACHE2: i32 = 19;
-pub const SQLITE_CONFIG_COVERING_INDEX_SCAN: i32 = 20;
-pub const SQLITE_CONFIG_SQLLOG: i32 = 21;
-pub const SQLITE_CONFIG_MMAP_SIZE: i32 = 22;
-pub const SQLITE_CONFIG_WIN32_HEAPSIZE: i32 = 23;
-pub const SQLITE_CONFIG_PCACHE_HDRSZ: i32 = 24;
-pub const SQLITE_CONFIG_PMASZ: i32 = 25;
-pub const SQLITE_CONFIG_STMTJRNL_SPILL: i32 = 26;
-pub const SQLITE_CONFIG_SMALL_MALLOC: i32 = 27;
-pub const SQLITE_CONFIG_SORTERREF_SIZE: i32 = 28;
-pub const SQLITE_CONFIG_MEMDB_MAXSIZE: i32 = 29;
-pub const SQLITE_DBCONFIG_MAINDBNAME: i32 = 1000;
-pub const SQLITE_DBCONFIG_LOOKASIDE: i32 = 1001;
-pub const SQLITE_DBCONFIG_ENABLE_FKEY: i32 = 1002;
-pub const SQLITE_DBCONFIG_ENABLE_TRIGGER: i32 = 1003;
-pub const SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER: i32 = 1004;
-pub const SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION: i32 = 1005;
-pub const SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE: i32 = 1006;
-pub const SQLITE_DBCONFIG_ENABLE_QPSG: i32 = 1007;
-pub const SQLITE_DBCONFIG_TRIGGER_EQP: i32 = 1008;
-pub const SQLITE_DBCONFIG_RESET_DATABASE: i32 = 1009;
-pub const SQLITE_DBCONFIG_DEFENSIVE: i32 = 1010;
-pub const SQLITE_DBCONFIG_WRITABLE_SCHEMA: i32 = 1011;
-pub const SQLITE_DBCONFIG_LEGACY_ALTER_TABLE: i32 = 1012;
-pub const SQLITE_DBCONFIG_DQS_DML: i32 = 1013;
-pub const SQLITE_DBCONFIG_DQS_DDL: i32 = 1014;
-pub const SQLITE_DBCONFIG_ENABLE_VIEW: i32 = 1015;
-pub const SQLITE_DBCONFIG_LEGACY_FILE_FORMAT: i32 = 1016;
-pub const SQLITE_DBCONFIG_TRUSTED_SCHEMA: i32 = 1017;
-pub const SQLITE_DBCONFIG_MAX: i32 = 1017;
-pub const SQLITE_DENY: i32 = 1;
-pub const SQLITE_IGNORE: i32 = 2;
-pub const SQLITE_CREATE_INDEX: i32 = 1;
-pub const SQLITE_CREATE_TABLE: i32 = 2;
-pub const SQLITE_CREATE_TEMP_INDEX: i32 = 3;
-pub const SQLITE_CREATE_TEMP_TABLE: i32 = 4;
-pub const SQLITE_CREATE_TEMP_TRIGGER: i32 = 5;
-pub const SQLITE_CREATE_TEMP_VIEW: i32 = 6;
-pub const SQLITE_CREATE_TRIGGER: i32 = 7;
-pub const SQLITE_CREATE_VIEW: i32 = 8;
-pub const SQLITE_DELETE: i32 = 9;
-pub const SQLITE_DROP_INDEX: i32 = 10;
-pub const SQLITE_DROP_TABLE: i32 = 11;
-pub const SQLITE_DROP_TEMP_INDEX: i32 = 12;
-pub const SQLITE_DROP_TEMP_TABLE: i32 = 13;
-pub const SQLITE_DROP_TEMP_TRIGGER: i32 = 14;
-pub const SQLITE_DROP_TEMP_VIEW: i32 = 15;
-pub const SQLITE_DROP_TRIGGER: i32 = 16;
-pub const SQLITE_DROP_VIEW: i32 = 17;
-pub const SQLITE_INSERT: i32 = 18;
-pub const SQLITE_PRAGMA: i32 = 19;
-pub const SQLITE_READ: i32 = 20;
-pub const SQLITE_SELECT: i32 = 21;
-pub const SQLITE_TRANSACTION: i32 = 22;
-pub const SQLITE_UPDATE: i32 = 23;
-pub const SQLITE_ATTACH: i32 = 24;
-pub const SQLITE_DETACH: i32 = 25;
-pub const SQLITE_ALTER_TABLE: i32 = 26;
-pub const SQLITE_REINDEX: i32 = 27;
-pub const SQLITE_ANALYZE: i32 = 28;
-pub const SQLITE_CREATE_VTABLE: i32 = 29;
-pub const SQLITE_DROP_VTABLE: i32 = 30;
-pub const SQLITE_FUNCTION: i32 = 31;
-pub const SQLITE_SAVEPOINT: i32 = 32;
-pub const SQLITE_COPY: i32 = 0;
-pub const SQLITE_RECURSIVE: i32 = 33;
-pub const SQLITE_TRACE_STMT: i32 = 1;
-pub const SQLITE_TRACE_PROFILE: i32 = 2;
-pub const SQLITE_TRACE_ROW: i32 = 4;
-pub const SQLITE_TRACE_CLOSE: i32 = 8;
-pub const SQLITE_LIMIT_LENGTH: i32 = 0;
-pub const SQLITE_LIMIT_SQL_LENGTH: i32 = 1;
-pub const SQLITE_LIMIT_COLUMN: i32 = 2;
-pub const SQLITE_LIMIT_EXPR_DEPTH: i32 = 3;
-pub const SQLITE_LIMIT_COMPOUND_SELECT: i32 = 4;
-pub const SQLITE_LIMIT_VDBE_OP: i32 = 5;
-pub const SQLITE_LIMIT_FUNCTION_ARG: i32 = 6;
-pub const SQLITE_LIMIT_ATTACHED: i32 = 7;
-pub const SQLITE_LIMIT_LIKE_PATTERN_LENGTH: i32 = 8;
-pub const SQLITE_LIMIT_VARIABLE_NUMBER: i32 = 9;
-pub const SQLITE_LIMIT_TRIGGER_DEPTH: i32 = 10;
-pub const SQLITE_LIMIT_WORKER_THREADS: i32 = 11;
-pub const SQLITE_PREPARE_PERSISTENT: i32 = 1;
-pub const SQLITE_PREPARE_NORMALIZE: i32 = 2;
-pub const SQLITE_PREPARE_NO_VTAB: i32 = 4;
-pub const SQLITE_INTEGER: i32 = 1;
-pub const SQLITE_FLOAT: i32 = 2;
-pub const SQLITE_BLOB: i32 = 4;
-pub const SQLITE_NULL: i32 = 5;
-pub const SQLITE_TEXT: i32 = 3;
-pub const SQLITE3_TEXT: i32 = 3;
-pub const SQLITE_UTF8: i32 = 1;
-pub const SQLITE_UTF16LE: i32 = 2;
-pub const SQLITE_UTF16BE: i32 = 3;
-pub const SQLITE_UTF16: i32 = 4;
-pub const SQLITE_ANY: i32 = 5;
-pub const SQLITE_UTF16_ALIGNED: i32 = 8;
-pub const SQLITE_DETERMINISTIC: i32 = 2048;
-pub const SQLITE_DIRECTONLY: i32 = 524288;
-pub const SQLITE_SUBTYPE: i32 = 1048576;
-pub const SQLITE_INNOCUOUS: i32 = 2097152;
-pub const SQLITE_WIN32_DATA_DIRECTORY_TYPE: i32 = 1;
-pub const SQLITE_WIN32_TEMP_DIRECTORY_TYPE: i32 = 2;
-pub const SQLITE_INDEX_SCAN_UNIQUE: i32 = 1;
-pub const SQLITE_INDEX_CONSTRAINT_EQ: i32 = 2;
-pub const SQLITE_INDEX_CONSTRAINT_GT: i32 = 4;
-pub const SQLITE_INDEX_CONSTRAINT_LE: i32 = 8;
-pub const SQLITE_INDEX_CONSTRAINT_LT: i32 = 16;
-pub const SQLITE_INDEX_CONSTRAINT_GE: i32 = 32;
-pub const SQLITE_INDEX_CONSTRAINT_MATCH: i32 = 64;
-pub const SQLITE_INDEX_CONSTRAINT_LIKE: i32 = 65;
-pub const SQLITE_INDEX_CONSTRAINT_GLOB: i32 = 66;
-pub const SQLITE_INDEX_CONSTRAINT_REGEXP: i32 = 67;
-pub const SQLITE_INDEX_CONSTRAINT_NE: i32 = 68;
-pub const SQLITE_INDEX_CONSTRAINT_ISNOT: i32 = 69;
-pub const SQLITE_INDEX_CONSTRAINT_ISNOTNULL: i32 = 70;
-pub const SQLITE_INDEX_CONSTRAINT_ISNULL: i32 = 71;
-pub const SQLITE_INDEX_CONSTRAINT_IS: i32 = 72;
-pub const SQLITE_INDEX_CONSTRAINT_FUNCTION: i32 = 150;
-pub const SQLITE_MUTEX_FAST: i32 = 0;
-pub const SQLITE_MUTEX_RECURSIVE: i32 = 1;
-pub const SQLITE_MUTEX_STATIC_MASTER: i32 = 2;
-pub const SQLITE_MUTEX_STATIC_MEM: i32 = 3;
-pub const SQLITE_MUTEX_STATIC_MEM2: i32 = 4;
-pub const SQLITE_MUTEX_STATIC_OPEN: i32 = 4;
-pub const SQLITE_MUTEX_STATIC_PRNG: i32 = 5;
-pub const SQLITE_MUTEX_STATIC_LRU: i32 = 6;
-pub const SQLITE_MUTEX_STATIC_LRU2: i32 = 7;
-pub const SQLITE_MUTEX_STATIC_PMEM: i32 = 7;
-pub const SQLITE_MUTEX_STATIC_APP1: i32 = 8;
-pub const SQLITE_MUTEX_STATIC_APP2: i32 = 9;
-pub const SQLITE_MUTEX_STATIC_APP3: i32 = 10;
-pub const SQLITE_MUTEX_STATIC_VFS1: i32 = 11;
-pub const SQLITE_MUTEX_STATIC_VFS2: i32 = 12;
-pub const SQLITE_MUTEX_STATIC_VFS3: i32 = 13;
-pub const SQLITE_TESTCTRL_FIRST: i32 = 5;
-pub const SQLITE_TESTCTRL_PRNG_SAVE: i32 = 5;
-pub const SQLITE_TESTCTRL_PRNG_RESTORE: i32 = 6;
-pub const SQLITE_TESTCTRL_PRNG_RESET: i32 = 7;
-pub const SQLITE_TESTCTRL_BITVEC_TEST: i32 = 8;
-pub const SQLITE_TESTCTRL_FAULT_INSTALL: i32 = 9;
-pub const SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS: i32 = 10;
-pub const SQLITE_TESTCTRL_PENDING_BYTE: i32 = 11;
-pub const SQLITE_TESTCTRL_ASSERT: i32 = 12;
-pub const SQLITE_TESTCTRL_ALWAYS: i32 = 13;
-pub const SQLITE_TESTCTRL_RESERVE: i32 = 14;
-pub const SQLITE_TESTCTRL_OPTIMIZATIONS: i32 = 15;
-pub const SQLITE_TESTCTRL_ISKEYWORD: i32 = 16;
-pub const SQLITE_TESTCTRL_SCRATCHMALLOC: i32 = 17;
-pub const SQLITE_TESTCTRL_INTERNAL_FUNCTIONS: i32 = 17;
-pub const SQLITE_TESTCTRL_LOCALTIME_FAULT: i32 = 18;
-pub const SQLITE_TESTCTRL_EXPLAIN_STMT: i32 = 19;
-pub const SQLITE_TESTCTRL_ONCE_RESET_THRESHOLD: i32 = 19;
-pub const SQLITE_TESTCTRL_NEVER_CORRUPT: i32 = 20;
-pub const SQLITE_TESTCTRL_VDBE_COVERAGE: i32 = 21;
-pub const SQLITE_TESTCTRL_BYTEORDER: i32 = 22;
-pub const SQLITE_TESTCTRL_ISINIT: i32 = 23;
-pub const SQLITE_TESTCTRL_SORTER_MMAP: i32 = 24;
-pub const SQLITE_TESTCTRL_IMPOSTER: i32 = 25;
-pub const SQLITE_TESTCTRL_PARSER_COVERAGE: i32 = 26;
-pub const SQLITE_TESTCTRL_RESULT_INTREAL: i32 = 27;
-pub const SQLITE_TESTCTRL_PRNG_SEED: i32 = 28;
-pub const SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS: i32 = 29;
-pub const SQLITE_TESTCTRL_LAST: i32 = 29;
-pub const SQLITE_STATUS_MEMORY_USED: i32 = 0;
-pub const SQLITE_STATUS_PAGECACHE_USED: i32 = 1;
-pub const SQLITE_STATUS_PAGECACHE_OVERFLOW: i32 = 2;
-pub const SQLITE_STATUS_SCRATCH_USED: i32 = 3;
-pub const SQLITE_STATUS_SCRATCH_OVERFLOW: i32 = 4;
-pub const SQLITE_STATUS_MALLOC_SIZE: i32 = 5;
-pub const SQLITE_STATUS_PARSER_STACK: i32 = 6;
-pub const SQLITE_STATUS_PAGECACHE_SIZE: i32 = 7;
-pub const SQLITE_STATUS_SCRATCH_SIZE: i32 = 8;
-pub const SQLITE_STATUS_MALLOC_COUNT: i32 = 9;
-pub const SQLITE_DBSTATUS_LOOKASIDE_USED: i32 = 0;
-pub const SQLITE_DBSTATUS_CACHE_USED: i32 = 1;
-pub const SQLITE_DBSTATUS_SCHEMA_USED: i32 = 2;
-pub const SQLITE_DBSTATUS_STMT_USED: i32 = 3;
-pub const SQLITE_DBSTATUS_LOOKASIDE_HIT: i32 = 4;
-pub const SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE: i32 = 5;
-pub const SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL: i32 = 6;
-pub const SQLITE_DBSTATUS_CACHE_HIT: i32 = 7;
-pub const SQLITE_DBSTATUS_CACHE_MISS: i32 = 8;
-pub const SQLITE_DBSTATUS_CACHE_WRITE: i32 = 9;
-pub const SQLITE_DBSTATUS_DEFERRED_FKS: i32 = 10;
-pub const SQLITE_DBSTATUS_CACHE_USED_SHARED: i32 = 11;
-pub const SQLITE_DBSTATUS_CACHE_SPILL: i32 = 12;
-pub const SQLITE_DBSTATUS_MAX: i32 = 12;
-pub const SQLITE_STMTSTATUS_FULLSCAN_STEP: i32 = 1;
-pub const SQLITE_STMTSTATUS_SORT: i32 = 2;
-pub const SQLITE_STMTSTATUS_AUTOINDEX: i32 = 3;
-pub const SQLITE_STMTSTATUS_VM_STEP: i32 = 4;
-pub const SQLITE_STMTSTATUS_REPREPARE: i32 = 5;
-pub const SQLITE_STMTSTATUS_RUN: i32 = 6;
-pub const SQLITE_STMTSTATUS_MEMUSED: i32 = 99;
-pub const SQLITE_CHECKPOINT_PASSIVE: i32 = 0;
-pub const SQLITE_CHECKPOINT_FULL: i32 = 1;
-pub const SQLITE_CHECKPOINT_RESTART: i32 = 2;
-pub const SQLITE_CHECKPOINT_TRUNCATE: i32 = 3;
-pub const SQLITE_VTAB_CONSTRAINT_SUPPORT: i32 = 1;
-pub const SQLITE_VTAB_INNOCUOUS: i32 = 2;
-pub const SQLITE_VTAB_DIRECTONLY: i32 = 3;
-pub const SQLITE_ROLLBACK: i32 = 1;
-pub const SQLITE_FAIL: i32 = 3;
-pub const SQLITE_REPLACE: i32 = 5;
-pub const SQLITE_SCANSTAT_NLOOP: i32 = 0;
-pub const SQLITE_SCANSTAT_NVISIT: i32 = 1;
-pub const SQLITE_SCANSTAT_EST: i32 = 2;
-pub const SQLITE_SCANSTAT_NAME: i32 = 3;
-pub const SQLITE_SCANSTAT_EXPLAIN: i32 = 4;
-pub const SQLITE_SCANSTAT_SELECTID: i32 = 5;
-pub const SQLITE_SERIALIZE_NOCOPY: i32 = 1;
-pub const SQLITE_DESERIALIZE_FREEONCLOSE: i32 = 1;
-pub const SQLITE_DESERIALIZE_RESIZEABLE: i32 = 2;
-pub const SQLITE_DESERIALIZE_READONLY: i32 = 4;
-pub const NOT_WITHIN: i32 = 0;
-pub const PARTLY_WITHIN: i32 = 1;
-pub const FULLY_WITHIN: i32 = 2;
-pub const FTS5_TOKENIZE_QUERY: i32 = 1;
-pub const FTS5_TOKENIZE_PREFIX: i32 = 2;
-pub const FTS5_TOKENIZE_DOCUMENT: i32 = 4;
-pub const FTS5_TOKENIZE_AUX: i32 = 8;
-pub const FTS5_TOKEN_COLOCATED: i32 = 1;
-extern "C" {
-    pub static mut sqlite3_version: [::std::os::raw::c_char; 0usize];
-}
-extern "C" {
-    pub fn sqlite3_libversion() -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_sourceid() -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_libversion_number() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_threadsafe() -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3 {
-    _unused: [u8; 0],
-}
-pub type sqlite_int64 = ::std::os::raw::c_longlong;
-pub type sqlite_uint64 = ::std::os::raw::c_ulonglong;
-pub type sqlite3_int64 = sqlite_int64;
-pub type sqlite3_uint64 = sqlite_uint64;
-extern "C" {
-    pub fn sqlite3_close(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_close_v2(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-pub type sqlite3_callback = ::std::option::Option<
-    unsafe extern "C" fn(
-        arg1: *mut ::std::os::raw::c_void,
-        arg2: ::std::os::raw::c_int,
-        arg3: *mut *mut ::std::os::raw::c_char,
-        arg4: *mut *mut ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int,
->;
-extern "C" {
-    pub fn sqlite3_exec(
-        arg1: *mut sqlite3,
-        sql: *const ::std::os::raw::c_char,
-        callback: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut ::std::os::raw::c_char,
-                arg4: *mut *mut ::std::os::raw::c_char,
-            ) -> ::std::os::raw::c_int,
-        >,
-        arg2: *mut ::std::os::raw::c_void,
-        errmsg: *mut *mut ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_file {
-    pub pMethods: *const sqlite3_io_methods,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_file() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_file>(),
-        8usize,
-        concat!("Size of: ", stringify!(sqlite3_file))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_file>(),
-        8usize,
-        concat!("Alignment of ", stringify!(sqlite3_file))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_file>())).pMethods as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_file),
-            "::",
-            stringify!(pMethods)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_io_methods {
-    pub iVersion: ::std::os::raw::c_int,
-    pub xClose: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_file) -> ::std::os::raw::c_int,
-    >,
-    pub xRead: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            arg2: *mut ::std::os::raw::c_void,
-            iAmt: ::std::os::raw::c_int,
-            iOfst: sqlite3_int64,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xWrite: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            arg2: *const ::std::os::raw::c_void,
-            iAmt: ::std::os::raw::c_int,
-            iOfst: sqlite3_int64,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xTruncate: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_file, size: sqlite3_int64) -> ::std::os::raw::c_int,
-    >,
-    pub xSync: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            flags: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xFileSize: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            pSize: *mut sqlite3_int64,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xLock: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            arg2: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xUnlock: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            arg2: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xCheckReservedLock: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            pResOut: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xFileControl: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            op: ::std::os::raw::c_int,
-            pArg: *mut ::std::os::raw::c_void,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xSectorSize: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_file) -> ::std::os::raw::c_int,
-    >,
-    pub xDeviceCharacteristics: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_file) -> ::std::os::raw::c_int,
-    >,
-    pub xShmMap: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            iPg: ::std::os::raw::c_int,
-            pgsz: ::std::os::raw::c_int,
-            arg2: ::std::os::raw::c_int,
-            arg3: *mut *mut ::std::os::raw::c_void,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xShmLock: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            offset: ::std::os::raw::c_int,
-            n: ::std::os::raw::c_int,
-            flags: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xShmBarrier: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_file)>,
-    pub xShmUnmap: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            deleteFlag: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xFetch: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            iOfst: sqlite3_int64,
-            iAmt: ::std::os::raw::c_int,
-            pp: *mut *mut ::std::os::raw::c_void,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xUnfetch: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_file,
-            iOfst: sqlite3_int64,
-            p: *mut ::std::os::raw::c_void,
-        ) -> ::std::os::raw::c_int,
-    >,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_io_methods() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_io_methods>(),
-        152usize,
-        concat!("Size of: ", stringify!(sqlite3_io_methods))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_io_methods>(),
-        8usize,
-        concat!("Alignment of ", stringify!(sqlite3_io_methods))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).iVersion as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(iVersion)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xClose as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xClose)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xRead as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xRead)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xWrite as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xWrite)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xTruncate as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xTruncate)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xSync as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xSync)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xFileSize as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xFileSize)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xLock as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xLock)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xUnlock as *const _ as usize },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xUnlock)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_io_methods>())).xCheckReservedLock as *const _ as usize
-        },
-        72usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xCheckReservedLock)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xFileControl as *const _ as usize },
-        80usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xFileControl)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xSectorSize as *const _ as usize },
-        88usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xSectorSize)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_io_methods>())).xDeviceCharacteristics as *const _
-                as usize
-        },
-        96usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xDeviceCharacteristics)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xShmMap as *const _ as usize },
-        104usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xShmMap)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xShmLock as *const _ as usize },
-        112usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xShmLock)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xShmBarrier as *const _ as usize },
-        120usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xShmBarrier)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xShmUnmap as *const _ as usize },
-        128usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xShmUnmap)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xFetch as *const _ as usize },
-        136usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xFetch)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_io_methods>())).xUnfetch as *const _ as usize },
-        144usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_io_methods),
-            "::",
-            stringify!(xUnfetch)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_mutex {
-    _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_api_routines {
-    _unused: [u8; 0],
-}
-pub type sqlite3_syscall_ptr = ::std::option::Option<unsafe extern "C" fn()>;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_vfs {
-    pub iVersion: ::std::os::raw::c_int,
-    pub szOsFile: ::std::os::raw::c_int,
-    pub mxPathname: ::std::os::raw::c_int,
-    pub pNext: *mut sqlite3_vfs,
-    pub zName: *const ::std::os::raw::c_char,
-    pub pAppData: *mut ::std::os::raw::c_void,
-    pub xOpen: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            zName: *const ::std::os::raw::c_char,
-            arg2: *mut sqlite3_file,
-            flags: ::std::os::raw::c_int,
-            pOutFlags: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xDelete: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            zName: *const ::std::os::raw::c_char,
-            syncDir: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xAccess: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            zName: *const ::std::os::raw::c_char,
-            flags: ::std::os::raw::c_int,
-            pResOut: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xFullPathname: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            zName: *const ::std::os::raw::c_char,
-            nOut: ::std::os::raw::c_int,
-            zOut: *mut ::std::os::raw::c_char,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xDlOpen: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            zFilename: *const ::std::os::raw::c_char,
-        ) -> *mut ::std::os::raw::c_void,
-    >,
-    pub xDlError: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            nByte: ::std::os::raw::c_int,
-            zErrMsg: *mut ::std::os::raw::c_char,
-        ),
-    >,
-    pub xDlSym: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            arg2: *mut ::std::os::raw::c_void,
-            zSymbol: *const ::std::os::raw::c_char,
-        ) -> ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_vfs,
-                arg2: *mut ::std::os::raw::c_void,
-                zSymbol: *const ::std::os::raw::c_char,
-            ),
-        >,
-    >,
-    pub xDlClose: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_vfs, arg2: *mut ::std::os::raw::c_void),
-    >,
-    pub xRandomness: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            nByte: ::std::os::raw::c_int,
-            zOut: *mut ::std::os::raw::c_char,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xSleep: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            microseconds: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xCurrentTime: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_vfs, arg2: *mut f64) -> ::std::os::raw::c_int,
-    >,
-    pub xGetLastError: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            arg2: ::std::os::raw::c_int,
-            arg3: *mut ::std::os::raw::c_char,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xCurrentTimeInt64: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            arg2: *mut sqlite3_int64,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xSetSystemCall: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            zName: *const ::std::os::raw::c_char,
-            arg2: sqlite3_syscall_ptr,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xGetSystemCall: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            zName: *const ::std::os::raw::c_char,
-        ) -> sqlite3_syscall_ptr,
-    >,
-    pub xNextSystemCall: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vfs,
-            zName: *const ::std::os::raw::c_char,
-        ) -> *const ::std::os::raw::c_char,
-    >,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_vfs() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_vfs>(),
-        168usize,
-        concat!("Size of: ", stringify!(sqlite3_vfs))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_vfs>(),
-        8usize,
-        concat!("Alignment of ", stringify!(sqlite3_vfs))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).iVersion as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(iVersion)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).szOsFile as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(szOsFile)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).mxPathname as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(mxPathname)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).pNext as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(pNext)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).zName as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(zName)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).pAppData as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(pAppData)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xOpen as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xOpen)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xDelete as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xDelete)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xAccess as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xAccess)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xFullPathname as *const _ as usize },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xFullPathname)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xDlOpen as *const _ as usize },
-        72usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xDlOpen)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xDlError as *const _ as usize },
-        80usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xDlError)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xDlSym as *const _ as usize },
-        88usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xDlSym)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xDlClose as *const _ as usize },
-        96usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xDlClose)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xRandomness as *const _ as usize },
-        104usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xRandomness)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xSleep as *const _ as usize },
-        112usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xSleep)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xCurrentTime as *const _ as usize },
-        120usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xCurrentTime)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xGetLastError as *const _ as usize },
-        128usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xGetLastError)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xCurrentTimeInt64 as *const _ as usize },
-        136usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xCurrentTimeInt64)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xSetSystemCall as *const _ as usize },
-        144usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xSetSystemCall)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xGetSystemCall as *const _ as usize },
-        152usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xGetSystemCall)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vfs>())).xNextSystemCall as *const _ as usize },
-        160usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vfs),
-            "::",
-            stringify!(xNextSystemCall)
-        )
-    );
-}
-extern "C" {
-    pub fn sqlite3_initialize() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_shutdown() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_os_init() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_os_end() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_config(arg1: ::std::os::raw::c_int, ...) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_db_config(
-        arg1: *mut sqlite3,
-        op: ::std::os::raw::c_int,
-        ...
-    ) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_mem_methods {
-    pub xMalloc: ::std::option::Option<
-        unsafe extern "C" fn(arg1: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_void,
-    >,
-    pub xFree: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    pub xRealloc: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut ::std::os::raw::c_void,
-            arg2: ::std::os::raw::c_int,
-        ) -> *mut ::std::os::raw::c_void,
-    >,
-    pub xSize: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
-    >,
-    pub xRoundup: ::std::option::Option<
-        unsafe extern "C" fn(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
-    >,
-    pub xInit: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
-    >,
-    pub xShutdown: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    pub pAppData: *mut ::std::os::raw::c_void,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_mem_methods() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_mem_methods>(),
-        64usize,
-        concat!("Size of: ", stringify!(sqlite3_mem_methods))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_mem_methods>(),
-        8usize,
-        concat!("Alignment of ", stringify!(sqlite3_mem_methods))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mem_methods>())).xMalloc as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mem_methods),
-            "::",
-            stringify!(xMalloc)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mem_methods>())).xFree as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mem_methods),
-            "::",
-            stringify!(xFree)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mem_methods>())).xRealloc as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mem_methods),
-            "::",
-            stringify!(xRealloc)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mem_methods>())).xSize as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mem_methods),
-            "::",
-            stringify!(xSize)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mem_methods>())).xRoundup as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mem_methods),
-            "::",
-            stringify!(xRoundup)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mem_methods>())).xInit as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mem_methods),
-            "::",
-            stringify!(xInit)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mem_methods>())).xShutdown as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mem_methods),
-            "::",
-            stringify!(xShutdown)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mem_methods>())).pAppData as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mem_methods),
-            "::",
-            stringify!(pAppData)
-        )
-    );
-}
-extern "C" {
-    pub fn sqlite3_extended_result_codes(
-        arg1: *mut sqlite3,
-        onoff: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_last_insert_rowid(arg1: *mut sqlite3) -> sqlite3_int64;
-}
-extern "C" {
-    pub fn sqlite3_set_last_insert_rowid(arg1: *mut sqlite3, arg2: sqlite3_int64);
-}
-extern "C" {
-    pub fn sqlite3_changes(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_total_changes(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_interrupt(arg1: *mut sqlite3);
-}
-extern "C" {
-    pub fn sqlite3_complete(sql: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_complete16(sql: *const ::std::os::raw::c_void) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_busy_handler(
-        arg1: *mut sqlite3,
-        arg2: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: ::std::os::raw::c_int,
-            ) -> ::std::os::raw::c_int,
-        >,
-        arg3: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_busy_timeout(
-        arg1: *mut sqlite3,
-        ms: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_get_table(
-        db: *mut sqlite3,
-        zSql: *const ::std::os::raw::c_char,
-        pazResult: *mut *mut *mut ::std::os::raw::c_char,
-        pnRow: *mut ::std::os::raw::c_int,
-        pnColumn: *mut ::std::os::raw::c_int,
-        pzErrmsg: *mut *mut ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_free_table(result: *mut *mut ::std::os::raw::c_char);
-}
-extern "C" {
-    pub fn sqlite3_mprintf(arg1: *const ::std::os::raw::c_char, ...)
-        -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_snprintf(
-        arg1: ::std::os::raw::c_int,
-        arg2: *mut ::std::os::raw::c_char,
-        arg3: *const ::std::os::raw::c_char,
-        ...
-    ) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_malloc(arg1: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_malloc64(arg1: sqlite3_uint64) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_realloc(
-        arg1: *mut ::std::os::raw::c_void,
-        arg2: ::std::os::raw::c_int,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_realloc64(
-        arg1: *mut ::std::os::raw::c_void,
-        arg2: sqlite3_uint64,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_free(arg1: *mut ::std::os::raw::c_void);
-}
-extern "C" {
-    pub fn sqlite3_msize(arg1: *mut ::std::os::raw::c_void) -> sqlite3_uint64;
-}
-extern "C" {
-    pub fn sqlite3_memory_used() -> sqlite3_int64;
-}
-extern "C" {
-    pub fn sqlite3_memory_highwater(resetFlag: ::std::os::raw::c_int) -> sqlite3_int64;
-}
-extern "C" {
-    pub fn sqlite3_randomness(N: ::std::os::raw::c_int, P: *mut ::std::os::raw::c_void);
-}
-extern "C" {
-    pub fn sqlite3_set_authorizer(
-        arg1: *mut sqlite3,
-        xAuth: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: ::std::os::raw::c_int,
-                arg3: *const ::std::os::raw::c_char,
-                arg4: *const ::std::os::raw::c_char,
-                arg5: *const ::std::os::raw::c_char,
-                arg6: *const ::std::os::raw::c_char,
-            ) -> ::std::os::raw::c_int,
-        >,
-        pUserData: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_trace(
-        arg1: *mut sqlite3,
-        xTrace: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: *const ::std::os::raw::c_char,
-            ),
-        >,
-        arg2: *mut ::std::os::raw::c_void,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_profile(
-        arg1: *mut sqlite3,
-        xProfile: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: *const ::std::os::raw::c_char,
-                arg3: sqlite3_uint64,
-            ),
-        >,
-        arg2: *mut ::std::os::raw::c_void,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_trace_v2(
-        arg1: *mut sqlite3,
-        uMask: ::std::os::raw::c_uint,
-        xCallback: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: ::std::os::raw::c_uint,
-                arg2: *mut ::std::os::raw::c_void,
-                arg3: *mut ::std::os::raw::c_void,
-                arg4: *mut ::std::os::raw::c_void,
-            ) -> ::std::os::raw::c_int,
-        >,
-        pCtx: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_progress_handler(
-        arg1: *mut sqlite3,
-        arg2: ::std::os::raw::c_int,
-        arg3: ::std::option::Option<
-            unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
-        >,
-        arg4: *mut ::std::os::raw::c_void,
-    );
-}
-extern "C" {
-    pub fn sqlite3_open(
-        filename: *const ::std::os::raw::c_char,
-        ppDb: *mut *mut sqlite3,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_open16(
-        filename: *const ::std::os::raw::c_void,
-        ppDb: *mut *mut sqlite3,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_open_v2(
-        filename: *const ::std::os::raw::c_char,
-        ppDb: *mut *mut sqlite3,
-        flags: ::std::os::raw::c_int,
-        zVfs: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_uri_parameter(
-        zFilename: *const ::std::os::raw::c_char,
-        zParam: *const ::std::os::raw::c_char,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_uri_boolean(
-        zFile: *const ::std::os::raw::c_char,
-        zParam: *const ::std::os::raw::c_char,
-        bDefault: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_uri_int64(
-        arg1: *const ::std::os::raw::c_char,
-        arg2: *const ::std::os::raw::c_char,
-        arg3: sqlite3_int64,
-    ) -> sqlite3_int64;
-}
-extern "C" {
-    pub fn sqlite3_uri_key(
-        zFilename: *const ::std::os::raw::c_char,
-        N: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_filename_database(
-        arg1: *const ::std::os::raw::c_char,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_filename_journal(
-        arg1: *const ::std::os::raw::c_char,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_filename_wal(
-        arg1: *const ::std::os::raw::c_char,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_database_file_object(arg1: *const ::std::os::raw::c_char) -> *mut sqlite3_file;
-}
-extern "C" {
-    pub fn sqlite3_create_filename(
-        zDatabase: *const ::std::os::raw::c_char,
-        zJournal: *const ::std::os::raw::c_char,
-        zWal: *const ::std::os::raw::c_char,
-        nParam: ::std::os::raw::c_int,
-        azParam: *mut *const ::std::os::raw::c_char,
-    ) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_free_filename(arg1: *mut ::std::os::raw::c_char);
-}
-extern "C" {
-    pub fn sqlite3_errcode(db: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_extended_errcode(db: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_errmsg(arg1: *mut sqlite3) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_errmsg16(arg1: *mut sqlite3) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_errstr(arg1: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_stmt {
-    _unused: [u8; 0],
-}
-extern "C" {
-    pub fn sqlite3_limit(
-        arg1: *mut sqlite3,
-        id: ::std::os::raw::c_int,
-        newVal: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_prepare(
-        db: *mut sqlite3,
-        zSql: *const ::std::os::raw::c_char,
-        nByte: ::std::os::raw::c_int,
-        ppStmt: *mut *mut sqlite3_stmt,
-        pzTail: *mut *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_prepare_v2(
-        db: *mut sqlite3,
-        zSql: *const ::std::os::raw::c_char,
-        nByte: ::std::os::raw::c_int,
-        ppStmt: *mut *mut sqlite3_stmt,
-        pzTail: *mut *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_prepare_v3(
-        db: *mut sqlite3,
-        zSql: *const ::std::os::raw::c_char,
-        nByte: ::std::os::raw::c_int,
-        prepFlags: ::std::os::raw::c_uint,
-        ppStmt: *mut *mut sqlite3_stmt,
-        pzTail: *mut *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_prepare16(
-        db: *mut sqlite3,
-        zSql: *const ::std::os::raw::c_void,
-        nByte: ::std::os::raw::c_int,
-        ppStmt: *mut *mut sqlite3_stmt,
-        pzTail: *mut *const ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_prepare16_v2(
-        db: *mut sqlite3,
-        zSql: *const ::std::os::raw::c_void,
-        nByte: ::std::os::raw::c_int,
-        ppStmt: *mut *mut sqlite3_stmt,
-        pzTail: *mut *const ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_prepare16_v3(
-        db: *mut sqlite3,
-        zSql: *const ::std::os::raw::c_void,
-        nByte: ::std::os::raw::c_int,
-        prepFlags: ::std::os::raw::c_uint,
-        ppStmt: *mut *mut sqlite3_stmt,
-        pzTail: *mut *const ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_sql(pStmt: *mut sqlite3_stmt) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_expanded_sql(pStmt: *mut sqlite3_stmt) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_normalized_sql(pStmt: *mut sqlite3_stmt) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_stmt_readonly(pStmt: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_stmt_isexplain(pStmt: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_stmt_busy(arg1: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_value {
-    _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_context {
-    _unused: [u8; 0],
-}
-extern "C" {
-    pub fn sqlite3_bind_blob(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: *const ::std::os::raw::c_void,
-        n: ::std::os::raw::c_int,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_blob64(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: *const ::std::os::raw::c_void,
-        arg4: sqlite3_uint64,
-        arg5: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_double(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: f64,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_int(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_int64(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: sqlite3_int64,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_null(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_text(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: *const ::std::os::raw::c_char,
-        arg4: ::std::os::raw::c_int,
-        arg5: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_text16(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: *const ::std::os::raw::c_void,
-        arg4: ::std::os::raw::c_int,
-        arg5: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_text64(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: *const ::std::os::raw::c_char,
-        arg4: sqlite3_uint64,
-        arg5: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-        encoding: ::std::os::raw::c_uchar,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_value(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: *const sqlite3_value,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_pointer(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: *mut ::std::os::raw::c_void,
-        arg4: *const ::std::os::raw::c_char,
-        arg5: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_zeroblob(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        n: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_zeroblob64(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-        arg3: sqlite3_uint64,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_parameter_count(arg1: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_bind_parameter_name(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_bind_parameter_index(
-        arg1: *mut sqlite3_stmt,
-        zName: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_clear_bindings(arg1: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_column_count(pStmt: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_column_name(
-        arg1: *mut sqlite3_stmt,
-        N: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_column_name16(
-        arg1: *mut sqlite3_stmt,
-        N: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_column_database_name(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_column_database_name16(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_column_table_name(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_column_table_name16(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_column_origin_name(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_column_origin_name16(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_column_decltype(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_column_decltype16(
-        arg1: *mut sqlite3_stmt,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_step(arg1: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_data_count(pStmt: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_column_blob(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_column_double(arg1: *mut sqlite3_stmt, iCol: ::std::os::raw::c_int) -> f64;
-}
-extern "C" {
-    pub fn sqlite3_column_int(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_column_int64(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> sqlite3_int64;
-}
-extern "C" {
-    pub fn sqlite3_column_text(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_uchar;
-}
-extern "C" {
-    pub fn sqlite3_column_text16(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_column_value(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> *mut sqlite3_value;
-}
-extern "C" {
-    pub fn sqlite3_column_bytes(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_column_bytes16(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_column_type(
-        arg1: *mut sqlite3_stmt,
-        iCol: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_finalize(pStmt: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_reset(pStmt: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_create_function(
-        db: *mut sqlite3,
-        zFunctionName: *const ::std::os::raw::c_char,
-        nArg: ::std::os::raw::c_int,
-        eTextRep: ::std::os::raw::c_int,
-        pApp: *mut ::std::os::raw::c_void,
-        xFunc: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_context,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut sqlite3_value,
-            ),
-        >,
-        xStep: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_context,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut sqlite3_value,
-            ),
-        >,
-        xFinal: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_context)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_create_function16(
-        db: *mut sqlite3,
-        zFunctionName: *const ::std::os::raw::c_void,
-        nArg: ::std::os::raw::c_int,
-        eTextRep: ::std::os::raw::c_int,
-        pApp: *mut ::std::os::raw::c_void,
-        xFunc: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_context,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut sqlite3_value,
-            ),
-        >,
-        xStep: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_context,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut sqlite3_value,
-            ),
-        >,
-        xFinal: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_context)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_create_function_v2(
-        db: *mut sqlite3,
-        zFunctionName: *const ::std::os::raw::c_char,
-        nArg: ::std::os::raw::c_int,
-        eTextRep: ::std::os::raw::c_int,
-        pApp: *mut ::std::os::raw::c_void,
-        xFunc: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_context,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut sqlite3_value,
-            ),
-        >,
-        xStep: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_context,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut sqlite3_value,
-            ),
-        >,
-        xFinal: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_context)>,
-        xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_create_window_function(
-        db: *mut sqlite3,
-        zFunctionName: *const ::std::os::raw::c_char,
-        nArg: ::std::os::raw::c_int,
-        eTextRep: ::std::os::raw::c_int,
-        pApp: *mut ::std::os::raw::c_void,
-        xStep: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_context,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut sqlite3_value,
-            ),
-        >,
-        xFinal: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_context)>,
-        xValue: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_context)>,
-        xInverse: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_context,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut *mut sqlite3_value,
-            ),
-        >,
-        xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_aggregate_count(arg1: *mut sqlite3_context) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_expired(arg1: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_transfer_bindings(
-        arg1: *mut sqlite3_stmt,
-        arg2: *mut sqlite3_stmt,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_global_recover() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_thread_cleanup();
-}
-extern "C" {
-    pub fn sqlite3_memory_alarm(
-        arg1: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: sqlite3_int64,
-                arg3: ::std::os::raw::c_int,
-            ),
-        >,
-        arg2: *mut ::std::os::raw::c_void,
-        arg3: sqlite3_int64,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_value_blob(arg1: *mut sqlite3_value) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_value_double(arg1: *mut sqlite3_value) -> f64;
-}
-extern "C" {
-    pub fn sqlite3_value_int(arg1: *mut sqlite3_value) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_value_int64(arg1: *mut sqlite3_value) -> sqlite3_int64;
-}
-extern "C" {
-    pub fn sqlite3_value_pointer(
-        arg1: *mut sqlite3_value,
-        arg2: *const ::std::os::raw::c_char,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_value_text(arg1: *mut sqlite3_value) -> *const ::std::os::raw::c_uchar;
-}
-extern "C" {
-    pub fn sqlite3_value_text16(arg1: *mut sqlite3_value) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_value_text16le(arg1: *mut sqlite3_value) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_value_text16be(arg1: *mut sqlite3_value) -> *const ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_value_bytes(arg1: *mut sqlite3_value) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_value_bytes16(arg1: *mut sqlite3_value) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_value_type(arg1: *mut sqlite3_value) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_value_numeric_type(arg1: *mut sqlite3_value) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_value_nochange(arg1: *mut sqlite3_value) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_value_frombind(arg1: *mut sqlite3_value) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_value_subtype(arg1: *mut sqlite3_value) -> ::std::os::raw::c_uint;
-}
-extern "C" {
-    pub fn sqlite3_value_dup(arg1: *const sqlite3_value) -> *mut sqlite3_value;
-}
-extern "C" {
-    pub fn sqlite3_value_free(arg1: *mut sqlite3_value);
-}
-extern "C" {
-    pub fn sqlite3_aggregate_context(
-        arg1: *mut sqlite3_context,
-        nBytes: ::std::os::raw::c_int,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_user_data(arg1: *mut sqlite3_context) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_context_db_handle(arg1: *mut sqlite3_context) -> *mut sqlite3;
-}
-extern "C" {
-    pub fn sqlite3_get_auxdata(
-        arg1: *mut sqlite3_context,
-        N: ::std::os::raw::c_int,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_set_auxdata(
-        arg1: *mut sqlite3_context,
-        N: ::std::os::raw::c_int,
-        arg2: *mut ::std::os::raw::c_void,
-        arg3: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    );
-}
-pub type sqlite3_destructor_type =
-    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>;
-extern "C" {
-    pub fn sqlite3_result_blob(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_void,
-        arg3: ::std::os::raw::c_int,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_blob64(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_void,
-        arg3: sqlite3_uint64,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_double(arg1: *mut sqlite3_context, arg2: f64);
-}
-extern "C" {
-    pub fn sqlite3_result_error(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_char,
-        arg3: ::std::os::raw::c_int,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_error16(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_void,
-        arg3: ::std::os::raw::c_int,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_error_toobig(arg1: *mut sqlite3_context);
-}
-extern "C" {
-    pub fn sqlite3_result_error_nomem(arg1: *mut sqlite3_context);
-}
-extern "C" {
-    pub fn sqlite3_result_error_code(arg1: *mut sqlite3_context, arg2: ::std::os::raw::c_int);
-}
-extern "C" {
-    pub fn sqlite3_result_int(arg1: *mut sqlite3_context, arg2: ::std::os::raw::c_int);
-}
-extern "C" {
-    pub fn sqlite3_result_int64(arg1: *mut sqlite3_context, arg2: sqlite3_int64);
-}
-extern "C" {
-    pub fn sqlite3_result_null(arg1: *mut sqlite3_context);
-}
-extern "C" {
-    pub fn sqlite3_result_text(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_char,
-        arg3: ::std::os::raw::c_int,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_text64(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_char,
-        arg3: sqlite3_uint64,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-        encoding: ::std::os::raw::c_uchar,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_text16(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_void,
-        arg3: ::std::os::raw::c_int,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_text16le(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_void,
-        arg3: ::std::os::raw::c_int,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_text16be(
-        arg1: *mut sqlite3_context,
-        arg2: *const ::std::os::raw::c_void,
-        arg3: ::std::os::raw::c_int,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_value(arg1: *mut sqlite3_context, arg2: *mut sqlite3_value);
-}
-extern "C" {
-    pub fn sqlite3_result_pointer(
-        arg1: *mut sqlite3_context,
-        arg2: *mut ::std::os::raw::c_void,
-        arg3: *const ::std::os::raw::c_char,
-        arg4: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    );
-}
-extern "C" {
-    pub fn sqlite3_result_zeroblob(arg1: *mut sqlite3_context, n: ::std::os::raw::c_int);
-}
-extern "C" {
-    pub fn sqlite3_result_zeroblob64(
-        arg1: *mut sqlite3_context,
-        n: sqlite3_uint64,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_result_subtype(arg1: *mut sqlite3_context, arg2: ::std::os::raw::c_uint);
-}
-extern "C" {
-    pub fn sqlite3_create_collation(
-        arg1: *mut sqlite3,
-        zName: *const ::std::os::raw::c_char,
-        eTextRep: ::std::os::raw::c_int,
-        pArg: *mut ::std::os::raw::c_void,
-        xCompare: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: ::std::os::raw::c_int,
-                arg3: *const ::std::os::raw::c_void,
-                arg4: ::std::os::raw::c_int,
-                arg5: *const ::std::os::raw::c_void,
-            ) -> ::std::os::raw::c_int,
-        >,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_create_collation_v2(
-        arg1: *mut sqlite3,
-        zName: *const ::std::os::raw::c_char,
-        eTextRep: ::std::os::raw::c_int,
-        pArg: *mut ::std::os::raw::c_void,
-        xCompare: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: ::std::os::raw::c_int,
-                arg3: *const ::std::os::raw::c_void,
-                arg4: ::std::os::raw::c_int,
-                arg5: *const ::std::os::raw::c_void,
-            ) -> ::std::os::raw::c_int,
-        >,
-        xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_create_collation16(
-        arg1: *mut sqlite3,
-        zName: *const ::std::os::raw::c_void,
-        eTextRep: ::std::os::raw::c_int,
-        pArg: *mut ::std::os::raw::c_void,
-        xCompare: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: ::std::os::raw::c_int,
-                arg3: *const ::std::os::raw::c_void,
-                arg4: ::std::os::raw::c_int,
-                arg5: *const ::std::os::raw::c_void,
-            ) -> ::std::os::raw::c_int,
-        >,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_collation_needed(
-        arg1: *mut sqlite3,
-        arg2: *mut ::std::os::raw::c_void,
-        arg3: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: *mut sqlite3,
-                eTextRep: ::std::os::raw::c_int,
-                arg3: *const ::std::os::raw::c_char,
-            ),
-        >,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_collation_needed16(
-        arg1: *mut sqlite3,
-        arg2: *mut ::std::os::raw::c_void,
-        arg3: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: *mut sqlite3,
-                eTextRep: ::std::os::raw::c_int,
-                arg3: *const ::std::os::raw::c_void,
-            ),
-        >,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_sleep(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub static mut sqlite3_temp_directory: *mut ::std::os::raw::c_char;
-}
-extern "C" {
-    pub static mut sqlite3_data_directory: *mut ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_win32_set_directory(
-        type_: ::std::os::raw::c_ulong,
-        zValue: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_win32_set_directory8(
-        type_: ::std::os::raw::c_ulong,
-        zValue: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_win32_set_directory16(
-        type_: ::std::os::raw::c_ulong,
-        zValue: *const ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_get_autocommit(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_db_handle(arg1: *mut sqlite3_stmt) -> *mut sqlite3;
-}
-extern "C" {
-    pub fn sqlite3_db_filename(
-        db: *mut sqlite3,
-        zDbName: *const ::std::os::raw::c_char,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_db_readonly(
-        db: *mut sqlite3,
-        zDbName: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_next_stmt(pDb: *mut sqlite3, pStmt: *mut sqlite3_stmt) -> *mut sqlite3_stmt;
-}
-extern "C" {
-    pub fn sqlite3_commit_hook(
-        arg1: *mut sqlite3,
-        arg2: ::std::option::Option<
-            unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
-        >,
-        arg3: *mut ::std::os::raw::c_void,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_rollback_hook(
-        arg1: *mut sqlite3,
-        arg2: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-        arg3: *mut ::std::os::raw::c_void,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_update_hook(
-        arg1: *mut sqlite3,
-        arg2: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: ::std::os::raw::c_int,
-                arg3: *const ::std::os::raw::c_char,
-                arg4: *const ::std::os::raw::c_char,
-                arg5: sqlite3_int64,
-            ),
-        >,
-        arg3: *mut ::std::os::raw::c_void,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_enable_shared_cache(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_release_memory(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_db_release_memory(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_soft_heap_limit64(N: sqlite3_int64) -> sqlite3_int64;
-}
-extern "C" {
-    pub fn sqlite3_hard_heap_limit64(N: sqlite3_int64) -> sqlite3_int64;
-}
-extern "C" {
-    pub fn sqlite3_soft_heap_limit(N: ::std::os::raw::c_int);
-}
-extern "C" {
-    pub fn sqlite3_table_column_metadata(
-        db: *mut sqlite3,
-        zDbName: *const ::std::os::raw::c_char,
-        zTableName: *const ::std::os::raw::c_char,
-        zColumnName: *const ::std::os::raw::c_char,
-        pzDataType: *mut *const ::std::os::raw::c_char,
-        pzCollSeq: *mut *const ::std::os::raw::c_char,
-        pNotNull: *mut ::std::os::raw::c_int,
-        pPrimaryKey: *mut ::std::os::raw::c_int,
-        pAutoinc: *mut ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_load_extension(
-        db: *mut sqlite3,
-        zFile: *const ::std::os::raw::c_char,
-        zProc: *const ::std::os::raw::c_char,
-        pzErrMsg: *mut *mut ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_enable_load_extension(
-        db: *mut sqlite3,
-        onoff: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_auto_extension(
-        xEntryPoint: ::std::option::Option<unsafe extern "C" fn()>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_cancel_auto_extension(
-        xEntryPoint: ::std::option::Option<unsafe extern "C" fn()>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_reset_auto_extension();
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_module {
-    pub iVersion: ::std::os::raw::c_int,
-    pub xCreate: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3,
-            pAux: *mut ::std::os::raw::c_void,
-            argc: ::std::os::raw::c_int,
-            argv: *const *const ::std::os::raw::c_char,
-            ppVTab: *mut *mut sqlite3_vtab,
-            arg2: *mut *mut ::std::os::raw::c_char,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xConnect: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3,
-            pAux: *mut ::std::os::raw::c_void,
-            argc: ::std::os::raw::c_int,
-            argv: *const *const ::std::os::raw::c_char,
-            ppVTab: *mut *mut sqlite3_vtab,
-            arg2: *mut *mut ::std::os::raw::c_char,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xBestIndex: ::std::option::Option<
-        unsafe extern "C" fn(
-            pVTab: *mut sqlite3_vtab,
-            arg1: *mut sqlite3_index_info,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xDisconnect: ::std::option::Option<
-        unsafe extern "C" fn(pVTab: *mut sqlite3_vtab) -> ::std::os::raw::c_int,
-    >,
-    pub xDestroy: ::std::option::Option<
-        unsafe extern "C" fn(pVTab: *mut sqlite3_vtab) -> ::std::os::raw::c_int,
-    >,
-    pub xOpen: ::std::option::Option<
-        unsafe extern "C" fn(
-            pVTab: *mut sqlite3_vtab,
-            ppCursor: *mut *mut sqlite3_vtab_cursor,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xClose: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_vtab_cursor) -> ::std::os::raw::c_int,
-    >,
-    pub xFilter: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vtab_cursor,
-            idxNum: ::std::os::raw::c_int,
-            idxStr: *const ::std::os::raw::c_char,
-            argc: ::std::os::raw::c_int,
-            argv: *mut *mut sqlite3_value,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xNext: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_vtab_cursor) -> ::std::os::raw::c_int,
-    >,
-    pub xEof: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_vtab_cursor) -> ::std::os::raw::c_int,
-    >,
-    pub xColumn: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vtab_cursor,
-            arg2: *mut sqlite3_context,
-            arg3: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xRowid: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vtab_cursor,
-            pRowid: *mut sqlite3_int64,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xUpdate: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_vtab,
-            arg2: ::std::os::raw::c_int,
-            arg3: *mut *mut sqlite3_value,
-            arg4: *mut sqlite3_int64,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xBegin: ::std::option::Option<
-        unsafe extern "C" fn(pVTab: *mut sqlite3_vtab) -> ::std::os::raw::c_int,
-    >,
-    pub xSync: ::std::option::Option<
-        unsafe extern "C" fn(pVTab: *mut sqlite3_vtab) -> ::std::os::raw::c_int,
-    >,
-    pub xCommit: ::std::option::Option<
-        unsafe extern "C" fn(pVTab: *mut sqlite3_vtab) -> ::std::os::raw::c_int,
-    >,
-    pub xRollback: ::std::option::Option<
-        unsafe extern "C" fn(pVTab: *mut sqlite3_vtab) -> ::std::os::raw::c_int,
-    >,
-    pub xFindFunction: ::std::option::Option<
-        unsafe extern "C" fn(
-            pVtab: *mut sqlite3_vtab,
-            nArg: ::std::os::raw::c_int,
-            zName: *const ::std::os::raw::c_char,
-            pxFunc: *mut ::std::option::Option<
-                unsafe extern "C" fn(
-                    arg1: *mut sqlite3_context,
-                    arg2: ::std::os::raw::c_int,
-                    arg3: *mut *mut sqlite3_value,
-                ),
-            >,
-            ppArg: *mut *mut ::std::os::raw::c_void,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xRename: ::std::option::Option<
-        unsafe extern "C" fn(
-            pVtab: *mut sqlite3_vtab,
-            zNew: *const ::std::os::raw::c_char,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xSavepoint: ::std::option::Option<
-        unsafe extern "C" fn(
-            pVTab: *mut sqlite3_vtab,
-            arg1: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xRelease: ::std::option::Option<
-        unsafe extern "C" fn(
-            pVTab: *mut sqlite3_vtab,
-            arg1: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xRollbackTo: ::std::option::Option<
-        unsafe extern "C" fn(
-            pVTab: *mut sqlite3_vtab,
-            arg1: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xShadowName: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int,
-    >,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_module() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_module>(),
-        192usize,
-        concat!("Size of: ", stringify!(sqlite3_module))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_module>(),
-        8usize,
-        concat!("Alignment of ", stringify!(sqlite3_module))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).iVersion as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(iVersion)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xCreate as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xCreate)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xConnect as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xConnect)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xBestIndex as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xBestIndex)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xDisconnect as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xDisconnect)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xDestroy as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xDestroy)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xOpen as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xOpen)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xClose as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xClose)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xFilter as *const _ as usize },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xFilter)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xNext as *const _ as usize },
-        72usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xNext)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xEof as *const _ as usize },
-        80usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xEof)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xColumn as *const _ as usize },
-        88usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xColumn)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xRowid as *const _ as usize },
-        96usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xRowid)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xUpdate as *const _ as usize },
-        104usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xUpdate)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xBegin as *const _ as usize },
-        112usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xBegin)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xSync as *const _ as usize },
-        120usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xSync)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xCommit as *const _ as usize },
-        128usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xCommit)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xRollback as *const _ as usize },
-        136usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xRollback)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xFindFunction as *const _ as usize },
-        144usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xFindFunction)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xRename as *const _ as usize },
-        152usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xRename)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xSavepoint as *const _ as usize },
-        160usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xSavepoint)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xRelease as *const _ as usize },
-        168usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xRelease)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xRollbackTo as *const _ as usize },
-        176usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xRollbackTo)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_module>())).xShadowName as *const _ as usize },
-        184usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_module),
-            "::",
-            stringify!(xShadowName)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_index_info {
-    pub nConstraint: ::std::os::raw::c_int,
-    pub aConstraint: *mut sqlite3_index_info_sqlite3_index_constraint,
-    pub nOrderBy: ::std::os::raw::c_int,
-    pub aOrderBy: *mut sqlite3_index_info_sqlite3_index_orderby,
-    pub aConstraintUsage: *mut sqlite3_index_info_sqlite3_index_constraint_usage,
-    pub idxNum: ::std::os::raw::c_int,
-    pub idxStr: *mut ::std::os::raw::c_char,
-    pub needToFreeIdxStr: ::std::os::raw::c_int,
-    pub orderByConsumed: ::std::os::raw::c_int,
-    pub estimatedCost: f64,
-    pub estimatedRows: sqlite3_int64,
-    pub idxFlags: ::std::os::raw::c_int,
-    pub colUsed: sqlite3_uint64,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_index_info_sqlite3_index_constraint {
-    pub iColumn: ::std::os::raw::c_int,
-    pub op: ::std::os::raw::c_uchar,
-    pub usable: ::std::os::raw::c_uchar,
-    pub iTermOffset: ::std::os::raw::c_int,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_index_info_sqlite3_index_constraint() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_index_info_sqlite3_index_constraint>(),
-        12usize,
-        concat!(
-            "Size of: ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint)
-        )
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_index_info_sqlite3_index_constraint>(),
-        4usize,
-        concat!(
-            "Alignment of ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info_sqlite3_index_constraint>())).iColumn
-                as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint),
-            "::",
-            stringify!(iColumn)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info_sqlite3_index_constraint>())).op as *const _
-                as usize
-        },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint),
-            "::",
-            stringify!(op)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info_sqlite3_index_constraint>())).usable
-                as *const _ as usize
-        },
-        5usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint),
-            "::",
-            stringify!(usable)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info_sqlite3_index_constraint>())).iTermOffset
-                as *const _ as usize
-        },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint),
-            "::",
-            stringify!(iTermOffset)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_index_info_sqlite3_index_orderby {
-    pub iColumn: ::std::os::raw::c_int,
-    pub desc: ::std::os::raw::c_uchar,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_index_info_sqlite3_index_orderby() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_index_info_sqlite3_index_orderby>(),
-        8usize,
-        concat!(
-            "Size of: ",
-            stringify!(sqlite3_index_info_sqlite3_index_orderby)
-        )
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_index_info_sqlite3_index_orderby>(),
-        4usize,
-        concat!(
-            "Alignment of ",
-            stringify!(sqlite3_index_info_sqlite3_index_orderby)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info_sqlite3_index_orderby>())).iColumn as *const _
-                as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info_sqlite3_index_orderby),
-            "::",
-            stringify!(iColumn)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info_sqlite3_index_orderby>())).desc as *const _
-                as usize
-        },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info_sqlite3_index_orderby),
-            "::",
-            stringify!(desc)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_index_info_sqlite3_index_constraint_usage {
-    pub argvIndex: ::std::os::raw::c_int,
-    pub omit: ::std::os::raw::c_uchar,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_index_info_sqlite3_index_constraint_usage() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_index_info_sqlite3_index_constraint_usage>(),
-        8usize,
-        concat!(
-            "Size of: ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint_usage)
-        )
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_index_info_sqlite3_index_constraint_usage>(),
-        4usize,
-        concat!(
-            "Alignment of ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint_usage)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info_sqlite3_index_constraint_usage>())).argvIndex
-                as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint_usage),
-            "::",
-            stringify!(argvIndex)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info_sqlite3_index_constraint_usage>())).omit
-                as *const _ as usize
-        },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info_sqlite3_index_constraint_usage),
-            "::",
-            stringify!(omit)
-        )
-    );
-}
-#[test]
-fn bindgen_test_layout_sqlite3_index_info() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_index_info>(),
-        96usize,
-        concat!("Size of: ", stringify!(sqlite3_index_info))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_index_info>(),
-        8usize,
-        concat!("Alignment of ", stringify!(sqlite3_index_info))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_index_info>())).nConstraint as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(nConstraint)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_index_info>())).aConstraint as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(aConstraint)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_index_info>())).nOrderBy as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(nOrderBy)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_index_info>())).aOrderBy as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(aOrderBy)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info>())).aConstraintUsage as *const _ as usize
-        },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(aConstraintUsage)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_index_info>())).idxNum as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(idxNum)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_index_info>())).idxStr as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(idxStr)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info>())).needToFreeIdxStr as *const _ as usize
-        },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(needToFreeIdxStr)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info>())).orderByConsumed as *const _ as usize
-        },
-        60usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(orderByConsumed)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info>())).estimatedCost as *const _ as usize
-        },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(estimatedCost)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_index_info>())).estimatedRows as *const _ as usize
-        },
-        72usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(estimatedRows)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_index_info>())).idxFlags as *const _ as usize },
-        80usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(idxFlags)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_index_info>())).colUsed as *const _ as usize },
-        88usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_index_info),
-            "::",
-            stringify!(colUsed)
-        )
-    );
-}
-extern "C" {
-    pub fn sqlite3_create_module(
-        db: *mut sqlite3,
-        zName: *const ::std::os::raw::c_char,
-        p: *const sqlite3_module,
-        pClientData: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_create_module_v2(
-        db: *mut sqlite3,
-        zName: *const ::std::os::raw::c_char,
-        p: *const sqlite3_module,
-        pClientData: *mut ::std::os::raw::c_void,
-        xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_drop_modules(
-        db: *mut sqlite3,
-        azKeep: *mut *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_vtab {
-    pub pModule: *const sqlite3_module,
-    pub nRef: ::std::os::raw::c_int,
-    pub zErrMsg: *mut ::std::os::raw::c_char,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_vtab() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_vtab>(),
-        24usize,
-        concat!("Size of: ", stringify!(sqlite3_vtab))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_vtab>(),
-        8usize,
-        concat!("Alignment of ", stringify!(sqlite3_vtab))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vtab>())).pModule as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vtab),
-            "::",
-            stringify!(pModule)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vtab>())).nRef as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vtab),
-            "::",
-            stringify!(nRef)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vtab>())).zErrMsg as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vtab),
-            "::",
-            stringify!(zErrMsg)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_vtab_cursor {
-    pub pVtab: *mut sqlite3_vtab,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_vtab_cursor() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_vtab_cursor>(),
-        8usize,
-        concat!("Size of: ", stringify!(sqlite3_vtab_cursor))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_vtab_cursor>(),
-        8usize,
-        concat!("Alignment of ", stringify!(sqlite3_vtab_cursor))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_vtab_cursor>())).pVtab as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_vtab_cursor),
-            "::",
-            stringify!(pVtab)
-        )
-    );
-}
-extern "C" {
-    pub fn sqlite3_declare_vtab(
-        arg1: *mut sqlite3,
-        zSQL: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_overload_function(
-        arg1: *mut sqlite3,
-        zFuncName: *const ::std::os::raw::c_char,
-        nArg: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_blob {
-    _unused: [u8; 0],
-}
-extern "C" {
-    pub fn sqlite3_blob_open(
-        arg1: *mut sqlite3,
-        zDb: *const ::std::os::raw::c_char,
-        zTable: *const ::std::os::raw::c_char,
-        zColumn: *const ::std::os::raw::c_char,
-        iRow: sqlite3_int64,
-        flags: ::std::os::raw::c_int,
-        ppBlob: *mut *mut sqlite3_blob,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_blob_reopen(
-        arg1: *mut sqlite3_blob,
-        arg2: sqlite3_int64,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_blob_close(arg1: *mut sqlite3_blob) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_blob_bytes(arg1: *mut sqlite3_blob) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_blob_read(
-        arg1: *mut sqlite3_blob,
-        Z: *mut ::std::os::raw::c_void,
-        N: ::std::os::raw::c_int,
-        iOffset: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_blob_write(
-        arg1: *mut sqlite3_blob,
-        z: *const ::std::os::raw::c_void,
-        n: ::std::os::raw::c_int,
-        iOffset: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_vfs_find(zVfsName: *const ::std::os::raw::c_char) -> *mut sqlite3_vfs;
-}
-extern "C" {
-    pub fn sqlite3_vfs_register(
-        arg1: *mut sqlite3_vfs,
-        makeDflt: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_vfs_unregister(arg1: *mut sqlite3_vfs) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_mutex_alloc(arg1: ::std::os::raw::c_int) -> *mut sqlite3_mutex;
-}
-extern "C" {
-    pub fn sqlite3_mutex_free(arg1: *mut sqlite3_mutex);
-}
-extern "C" {
-    pub fn sqlite3_mutex_enter(arg1: *mut sqlite3_mutex);
-}
-extern "C" {
-    pub fn sqlite3_mutex_try(arg1: *mut sqlite3_mutex) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_mutex_leave(arg1: *mut sqlite3_mutex);
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_mutex_methods {
-    pub xMutexInit: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
-    pub xMutexEnd: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
-    pub xMutexAlloc: ::std::option::Option<
-        unsafe extern "C" fn(arg1: ::std::os::raw::c_int) -> *mut sqlite3_mutex,
-    >,
-    pub xMutexFree: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_mutex)>,
-    pub xMutexEnter: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_mutex)>,
-    pub xMutexTry: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_mutex) -> ::std::os::raw::c_int,
-    >,
-    pub xMutexLeave: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_mutex)>,
-    pub xMutexHeld: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_mutex) -> ::std::os::raw::c_int,
-    >,
-    pub xMutexNotheld: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_mutex) -> ::std::os::raw::c_int,
-    >,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_mutex_methods() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_mutex_methods>(),
-        72usize,
-        concat!("Size of: ", stringify!(sqlite3_mutex_methods))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_mutex_methods>(),
-        8usize,
-        concat!("Alignment of ", stringify!(sqlite3_mutex_methods))
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexInit as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexInit)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexEnd as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexEnd)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexAlloc as *const _ as usize
-        },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexAlloc)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexFree as *const _ as usize
-        },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexFree)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexEnter as *const _ as usize
-        },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexEnter)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexTry as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexTry)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexLeave as *const _ as usize
-        },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexLeave)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexHeld as *const _ as usize
-        },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexHeld)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_mutex_methods>())).xMutexNotheld as *const _ as usize
-        },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_mutex_methods),
-            "::",
-            stringify!(xMutexNotheld)
-        )
-    );
-}
-extern "C" {
-    pub fn sqlite3_db_mutex(arg1: *mut sqlite3) -> *mut sqlite3_mutex;
-}
-extern "C" {
-    pub fn sqlite3_file_control(
-        arg1: *mut sqlite3,
-        zDbName: *const ::std::os::raw::c_char,
-        op: ::std::os::raw::c_int,
-        arg2: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_test_control(op: ::std::os::raw::c_int, ...) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_keyword_count() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_keyword_name(
-        arg1: ::std::os::raw::c_int,
-        arg2: *mut *const ::std::os::raw::c_char,
-        arg3: *mut ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_keyword_check(
-        arg1: *const ::std::os::raw::c_char,
-        arg2: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_str {
-    _unused: [u8; 0],
-}
-extern "C" {
-    pub fn sqlite3_str_new(arg1: *mut sqlite3) -> *mut sqlite3_str;
-}
-extern "C" {
-    pub fn sqlite3_str_finish(arg1: *mut sqlite3_str) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_str_appendf(arg1: *mut sqlite3_str, zFormat: *const ::std::os::raw::c_char, ...);
-}
-extern "C" {
-    pub fn sqlite3_str_append(
-        arg1: *mut sqlite3_str,
-        zIn: *const ::std::os::raw::c_char,
-        N: ::std::os::raw::c_int,
-    );
-}
-extern "C" {
-    pub fn sqlite3_str_appendall(arg1: *mut sqlite3_str, zIn: *const ::std::os::raw::c_char);
-}
-extern "C" {
-    pub fn sqlite3_str_appendchar(
-        arg1: *mut sqlite3_str,
-        N: ::std::os::raw::c_int,
-        C: ::std::os::raw::c_char,
-    );
-}
-extern "C" {
-    pub fn sqlite3_str_reset(arg1: *mut sqlite3_str);
-}
-extern "C" {
-    pub fn sqlite3_str_errcode(arg1: *mut sqlite3_str) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_str_length(arg1: *mut sqlite3_str) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_str_value(arg1: *mut sqlite3_str) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_status(
-        op: ::std::os::raw::c_int,
-        pCurrent: *mut ::std::os::raw::c_int,
-        pHighwater: *mut ::std::os::raw::c_int,
-        resetFlag: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_status64(
-        op: ::std::os::raw::c_int,
-        pCurrent: *mut sqlite3_int64,
-        pHighwater: *mut sqlite3_int64,
-        resetFlag: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_db_status(
-        arg1: *mut sqlite3,
-        op: ::std::os::raw::c_int,
-        pCur: *mut ::std::os::raw::c_int,
-        pHiwtr: *mut ::std::os::raw::c_int,
-        resetFlg: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_stmt_status(
-        arg1: *mut sqlite3_stmt,
-        op: ::std::os::raw::c_int,
-        resetFlg: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_pcache {
-    _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_pcache_page {
-    pub pBuf: *mut ::std::os::raw::c_void,
-    pub pExtra: *mut ::std::os::raw::c_void,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_pcache_page() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_pcache_page>(),
-        16usize,
-        concat!("Size of: ", stringify!(sqlite3_pcache_page))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_pcache_page>(),
-        8usize,
-        concat!("Alignment of ", stringify!(sqlite3_pcache_page))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_page>())).pBuf as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_page),
-            "::",
-            stringify!(pBuf)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_page>())).pExtra as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_page),
-            "::",
-            stringify!(pExtra)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_pcache_methods2 {
-    pub iVersion: ::std::os::raw::c_int,
-    pub pArg: *mut ::std::os::raw::c_void,
-    pub xInit: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
-    >,
-    pub xShutdown: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    pub xCreate: ::std::option::Option<
-        unsafe extern "C" fn(
-            szPage: ::std::os::raw::c_int,
-            szExtra: ::std::os::raw::c_int,
-            bPurgeable: ::std::os::raw::c_int,
-        ) -> *mut sqlite3_pcache,
-    >,
-    pub xCachesize: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_pcache, nCachesize: ::std::os::raw::c_int),
-    >,
-    pub xPagecount: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_pcache) -> ::std::os::raw::c_int,
-    >,
-    pub xFetch: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_pcache,
-            key: ::std::os::raw::c_uint,
-            createFlag: ::std::os::raw::c_int,
-        ) -> *mut sqlite3_pcache_page,
-    >,
-    pub xUnpin: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_pcache,
-            arg2: *mut sqlite3_pcache_page,
-            discard: ::std::os::raw::c_int,
-        ),
-    >,
-    pub xRekey: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_pcache,
-            arg2: *mut sqlite3_pcache_page,
-            oldKey: ::std::os::raw::c_uint,
-            newKey: ::std::os::raw::c_uint,
-        ),
-    >,
-    pub xTruncate: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_pcache, iLimit: ::std::os::raw::c_uint),
-    >,
-    pub xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_pcache)>,
-    pub xShrink: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_pcache)>,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_pcache_methods2() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_pcache_methods2>(),
-        104usize,
-        concat!("Size of: ", stringify!(sqlite3_pcache_methods2))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_pcache_methods2>(),
-        8usize,
-        concat!("Alignment of ", stringify!(sqlite3_pcache_methods2))
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).iVersion as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(iVersion)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).pArg as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(pArg)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xInit as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xInit)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xShutdown as *const _ as usize
-        },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xShutdown)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xCreate as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xCreate)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xCachesize as *const _ as usize
-        },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xCachesize)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xPagecount as *const _ as usize
-        },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xPagecount)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xFetch as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xFetch)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xUnpin as *const _ as usize },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xUnpin)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xRekey as *const _ as usize },
-        72usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xRekey)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xTruncate as *const _ as usize
-        },
-        80usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xTruncate)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xDestroy as *const _ as usize
-        },
-        88usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xDestroy)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods2>())).xShrink as *const _ as usize },
-        96usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods2),
-            "::",
-            stringify!(xShrink)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_pcache_methods {
-    pub pArg: *mut ::std::os::raw::c_void,
-    pub xInit: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
-    >,
-    pub xShutdown: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    pub xCreate: ::std::option::Option<
-        unsafe extern "C" fn(
-            szPage: ::std::os::raw::c_int,
-            bPurgeable: ::std::os::raw::c_int,
-        ) -> *mut sqlite3_pcache,
-    >,
-    pub xCachesize: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_pcache, nCachesize: ::std::os::raw::c_int),
-    >,
-    pub xPagecount: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_pcache) -> ::std::os::raw::c_int,
-    >,
-    pub xFetch: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_pcache,
-            key: ::std::os::raw::c_uint,
-            createFlag: ::std::os::raw::c_int,
-        ) -> *mut ::std::os::raw::c_void,
-    >,
-    pub xUnpin: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_pcache,
-            arg2: *mut ::std::os::raw::c_void,
-            discard: ::std::os::raw::c_int,
-        ),
-    >,
-    pub xRekey: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut sqlite3_pcache,
-            arg2: *mut ::std::os::raw::c_void,
-            oldKey: ::std::os::raw::c_uint,
-            newKey: ::std::os::raw::c_uint,
-        ),
-    >,
-    pub xTruncate: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut sqlite3_pcache, iLimit: ::std::os::raw::c_uint),
-    >,
-    pub xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_pcache)>,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_pcache_methods() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_pcache_methods>(),
-        88usize,
-        concat!("Size of: ", stringify!(sqlite3_pcache_methods))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_pcache_methods>(),
-        8usize,
-        concat!("Alignment of ", stringify!(sqlite3_pcache_methods))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods>())).pArg as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(pArg)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xInit as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xInit)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xShutdown as *const _ as usize
-        },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xShutdown)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xCreate as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xCreate)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xCachesize as *const _ as usize
-        },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xCachesize)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xPagecount as *const _ as usize
-        },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xPagecount)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xFetch as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xFetch)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xUnpin as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xUnpin)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xRekey as *const _ as usize },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xRekey)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xTruncate as *const _ as usize
-        },
-        72usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xTruncate)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_pcache_methods>())).xDestroy as *const _ as usize },
-        80usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_pcache_methods),
-            "::",
-            stringify!(xDestroy)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_backup {
-    _unused: [u8; 0],
-}
-extern "C" {
-    pub fn sqlite3_backup_init(
-        pDest: *mut sqlite3,
-        zDestName: *const ::std::os::raw::c_char,
-        pSource: *mut sqlite3,
-        zSourceName: *const ::std::os::raw::c_char,
-    ) -> *mut sqlite3_backup;
-}
-extern "C" {
-    pub fn sqlite3_backup_step(
-        p: *mut sqlite3_backup,
-        nPage: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_backup_finish(p: *mut sqlite3_backup) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_backup_remaining(p: *mut sqlite3_backup) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_backup_pagecount(p: *mut sqlite3_backup) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_unlock_notify(
-        pBlocked: *mut sqlite3,
-        xNotify: ::std::option::Option<
-            unsafe extern "C" fn(
-                apArg: *mut *mut ::std::os::raw::c_void,
-                nArg: ::std::os::raw::c_int,
-            ),
-        >,
-        pNotifyArg: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_stricmp(
-        arg1: *const ::std::os::raw::c_char,
-        arg2: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_strnicmp(
-        arg1: *const ::std::os::raw::c_char,
-        arg2: *const ::std::os::raw::c_char,
-        arg3: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_strglob(
-        zGlob: *const ::std::os::raw::c_char,
-        zStr: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_strlike(
-        zGlob: *const ::std::os::raw::c_char,
-        zStr: *const ::std::os::raw::c_char,
-        cEsc: ::std::os::raw::c_uint,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_log(
-        iErrCode: ::std::os::raw::c_int,
-        zFormat: *const ::std::os::raw::c_char,
-        ...
-    );
-}
-extern "C" {
-    pub fn sqlite3_wal_hook(
-        arg1: *mut sqlite3,
-        arg2: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut ::std::os::raw::c_void,
-                arg2: *mut sqlite3,
-                arg3: *const ::std::os::raw::c_char,
-                arg4: ::std::os::raw::c_int,
-            ) -> ::std::os::raw::c_int,
-        >,
-        arg3: *mut ::std::os::raw::c_void,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn sqlite3_wal_autocheckpoint(
-        db: *mut sqlite3,
-        N: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_wal_checkpoint(
-        db: *mut sqlite3,
-        zDb: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_wal_checkpoint_v2(
-        db: *mut sqlite3,
-        zDb: *const ::std::os::raw::c_char,
-        eMode: ::std::os::raw::c_int,
-        pnLog: *mut ::std::os::raw::c_int,
-        pnCkpt: *mut ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_vtab_config(
-        arg1: *mut sqlite3,
-        op: ::std::os::raw::c_int,
-        ...
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_vtab_on_conflict(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_vtab_nochange(arg1: *mut sqlite3_context) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_vtab_collation(
-        arg1: *mut sqlite3_index_info,
-        arg2: ::std::os::raw::c_int,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn sqlite3_stmt_scanstatus(
-        pStmt: *mut sqlite3_stmt,
-        idx: ::std::os::raw::c_int,
-        iScanStatusOp: ::std::os::raw::c_int,
-        pOut: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_stmt_scanstatus_reset(arg1: *mut sqlite3_stmt);
-}
-extern "C" {
-    pub fn sqlite3_db_cacheflush(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_system_errno(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct sqlite3_snapshot {
-    pub hidden: [::std::os::raw::c_uchar; 48usize],
-}
-#[test]
-fn bindgen_test_layout_sqlite3_snapshot() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_snapshot>(),
-        48usize,
-        concat!("Size of: ", stringify!(sqlite3_snapshot))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_snapshot>(),
-        1usize,
-        concat!("Alignment of ", stringify!(sqlite3_snapshot))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_snapshot>())).hidden as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_snapshot),
-            "::",
-            stringify!(hidden)
-        )
-    );
-}
-extern "C" {
-    pub fn sqlite3_snapshot_get(
-        db: *mut sqlite3,
-        zSchema: *const ::std::os::raw::c_char,
-        ppSnapshot: *mut *mut sqlite3_snapshot,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_snapshot_open(
-        db: *mut sqlite3,
-        zSchema: *const ::std::os::raw::c_char,
-        pSnapshot: *mut sqlite3_snapshot,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_snapshot_free(arg1: *mut sqlite3_snapshot);
-}
-extern "C" {
-    pub fn sqlite3_snapshot_cmp(
-        p1: *mut sqlite3_snapshot,
-        p2: *mut sqlite3_snapshot,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_snapshot_recover(
-        db: *mut sqlite3,
-        zDb: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn sqlite3_serialize(
-        db: *mut sqlite3,
-        zSchema: *const ::std::os::raw::c_char,
-        piSize: *mut sqlite3_int64,
-        mFlags: ::std::os::raw::c_uint,
-    ) -> *mut ::std::os::raw::c_uchar;
-}
-extern "C" {
-    pub fn sqlite3_deserialize(
-        db: *mut sqlite3,
-        zSchema: *const ::std::os::raw::c_char,
-        pData: *mut ::std::os::raw::c_uchar,
-        szDb: sqlite3_int64,
-        szBuf: sqlite3_int64,
-        mFlags: ::std::os::raw::c_uint,
-    ) -> ::std::os::raw::c_int;
-}
-pub type sqlite3_rtree_dbl = f64;
-extern "C" {
-    pub fn sqlite3_rtree_geometry_callback(
-        db: *mut sqlite3,
-        zGeom: *const ::std::os::raw::c_char,
-        xGeom: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut sqlite3_rtree_geometry,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut sqlite3_rtree_dbl,
-                arg4: *mut ::std::os::raw::c_int,
-            ) -> ::std::os::raw::c_int,
-        >,
-        pContext: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_rtree_geometry {
-    pub pContext: *mut ::std::os::raw::c_void,
-    pub nParam: ::std::os::raw::c_int,
-    pub aParam: *mut sqlite3_rtree_dbl,
-    pub pUser: *mut ::std::os::raw::c_void,
-    pub xDelUser: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_rtree_geometry() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_rtree_geometry>(),
-        40usize,
-        concat!("Size of: ", stringify!(sqlite3_rtree_geometry))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_rtree_geometry>(),
-        8usize,
-        concat!("Alignment of ", stringify!(sqlite3_rtree_geometry))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_geometry>())).pContext as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_geometry),
-            "::",
-            stringify!(pContext)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_geometry>())).nParam as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_geometry),
-            "::",
-            stringify!(nParam)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_geometry>())).aParam as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_geometry),
-            "::",
-            stringify!(aParam)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_geometry>())).pUser as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_geometry),
-            "::",
-            stringify!(pUser)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_geometry>())).xDelUser as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_geometry),
-            "::",
-            stringify!(xDelUser)
-        )
-    );
-}
-extern "C" {
-    pub fn sqlite3_rtree_query_callback(
-        db: *mut sqlite3,
-        zQueryFunc: *const ::std::os::raw::c_char,
-        xQueryFunc: ::std::option::Option<
-            unsafe extern "C" fn(arg1: *mut sqlite3_rtree_query_info) -> ::std::os::raw::c_int,
-        >,
-        pContext: *mut ::std::os::raw::c_void,
-        xDestructor: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    ) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sqlite3_rtree_query_info {
-    pub pContext: *mut ::std::os::raw::c_void,
-    pub nParam: ::std::os::raw::c_int,
-    pub aParam: *mut sqlite3_rtree_dbl,
-    pub pUser: *mut ::std::os::raw::c_void,
-    pub xDelUser: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-    pub aCoord: *mut sqlite3_rtree_dbl,
-    pub anQueue: *mut ::std::os::raw::c_uint,
-    pub nCoord: ::std::os::raw::c_int,
-    pub iLevel: ::std::os::raw::c_int,
-    pub mxLevel: ::std::os::raw::c_int,
-    pub iRowid: sqlite3_int64,
-    pub rParentScore: sqlite3_rtree_dbl,
-    pub eParentWithin: ::std::os::raw::c_int,
-    pub eWithin: ::std::os::raw::c_int,
-    pub rScore: sqlite3_rtree_dbl,
-    pub apSqlParam: *mut *mut sqlite3_value,
-}
-#[test]
-fn bindgen_test_layout_sqlite3_rtree_query_info() {
-    assert_eq!(
-        ::std::mem::size_of::<sqlite3_rtree_query_info>(),
-        112usize,
-        concat!("Size of: ", stringify!(sqlite3_rtree_query_info))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sqlite3_rtree_query_info>(),
-        8usize,
-        concat!("Alignment of ", stringify!(sqlite3_rtree_query_info))
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).pContext as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(pContext)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).nParam as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(nParam)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).aParam as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(aParam)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).pUser as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(pUser)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).xDelUser as *const _ as usize
-        },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(xDelUser)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).aCoord as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(aCoord)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).anQueue as *const _ as usize
-        },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(anQueue)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).nCoord as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(nCoord)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).iLevel as *const _ as usize },
-        60usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(iLevel)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).mxLevel as *const _ as usize
-        },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(mxLevel)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).iRowid as *const _ as usize },
-        72usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(iRowid)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).rParentScore as *const _ as usize
-        },
-        80usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(rParentScore)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).eParentWithin as *const _ as usize
-        },
-        88usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(eParentWithin)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).eWithin as *const _ as usize
-        },
-        92usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(eWithin)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).rScore as *const _ as usize },
-        96usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(rScore)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sqlite3_rtree_query_info>())).apSqlParam as *const _ as usize
-        },
-        104usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sqlite3_rtree_query_info),
-            "::",
-            stringify!(apSqlParam)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct Fts5Context {
-    _unused: [u8; 0],
-}
-pub type fts5_extension_function = ::std::option::Option<
-    unsafe extern "C" fn(
-        pApi: *const Fts5ExtensionApi,
-        pFts: *mut Fts5Context,
-        pCtx: *mut sqlite3_context,
-        nVal: ::std::os::raw::c_int,
-        apVal: *mut *mut sqlite3_value,
-    ),
->;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct Fts5PhraseIter {
-    pub a: *const ::std::os::raw::c_uchar,
-    pub b: *const ::std::os::raw::c_uchar,
-}
-#[test]
-fn bindgen_test_layout_Fts5PhraseIter() {
-    assert_eq!(
-        ::std::mem::size_of::<Fts5PhraseIter>(),
-        16usize,
-        concat!("Size of: ", stringify!(Fts5PhraseIter))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<Fts5PhraseIter>(),
-        8usize,
-        concat!("Alignment of ", stringify!(Fts5PhraseIter))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5PhraseIter>())).a as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5PhraseIter),
-            "::",
-            stringify!(a)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5PhraseIter>())).b as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5PhraseIter),
-            "::",
-            stringify!(b)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct Fts5ExtensionApi {
-    pub iVersion: ::std::os::raw::c_int,
-    pub xUserData: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut Fts5Context) -> *mut ::std::os::raw::c_void,
-    >,
-    pub xColumnCount: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut Fts5Context) -> ::std::os::raw::c_int,
-    >,
-    pub xRowCount: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            pnRow: *mut sqlite3_int64,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xColumnTotalSize: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            iCol: ::std::os::raw::c_int,
-            pnToken: *mut sqlite3_int64,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xTokenize: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            pText: *const ::std::os::raw::c_char,
-            nText: ::std::os::raw::c_int,
-            pCtx: *mut ::std::os::raw::c_void,
-            xToken: ::std::option::Option<
-                unsafe extern "C" fn(
-                    arg1: *mut ::std::os::raw::c_void,
-                    arg2: ::std::os::raw::c_int,
-                    arg3: *const ::std::os::raw::c_char,
-                    arg4: ::std::os::raw::c_int,
-                    arg5: ::std::os::raw::c_int,
-                    arg6: ::std::os::raw::c_int,
-                ) -> ::std::os::raw::c_int,
-            >,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xPhraseCount: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut Fts5Context) -> ::std::os::raw::c_int,
-    >,
-    pub xPhraseSize: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            iPhrase: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xInstCount: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            pnInst: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xInst: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            iIdx: ::std::os::raw::c_int,
-            piPhrase: *mut ::std::os::raw::c_int,
-            piCol: *mut ::std::os::raw::c_int,
-            piOff: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xRowid:
-        ::std::option::Option<unsafe extern "C" fn(arg1: *mut Fts5Context) -> sqlite3_int64>,
-    pub xColumnText: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            iCol: ::std::os::raw::c_int,
-            pz: *mut *const ::std::os::raw::c_char,
-            pn: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xColumnSize: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            iCol: ::std::os::raw::c_int,
-            pnToken: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xQueryPhrase: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            iPhrase: ::std::os::raw::c_int,
-            pUserData: *mut ::std::os::raw::c_void,
-            arg2: ::std::option::Option<
-                unsafe extern "C" fn(
-                    arg1: *const Fts5ExtensionApi,
-                    arg2: *mut Fts5Context,
-                    arg3: *mut ::std::os::raw::c_void,
-                ) -> ::std::os::raw::c_int,
-            >,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xSetAuxdata: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            pAux: *mut ::std::os::raw::c_void,
-            xDelete: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xGetAuxdata: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            bClear: ::std::os::raw::c_int,
-        ) -> *mut ::std::os::raw::c_void,
-    >,
-    pub xPhraseFirst: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            iPhrase: ::std::os::raw::c_int,
-            arg2: *mut Fts5PhraseIter,
-            arg3: *mut ::std::os::raw::c_int,
-            arg4: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xPhraseNext: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            arg2: *mut Fts5PhraseIter,
-            piCol: *mut ::std::os::raw::c_int,
-            piOff: *mut ::std::os::raw::c_int,
-        ),
-    >,
-    pub xPhraseFirstColumn: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            iPhrase: ::std::os::raw::c_int,
-            arg2: *mut Fts5PhraseIter,
-            arg3: *mut ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xPhraseNextColumn: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Context,
-            arg2: *mut Fts5PhraseIter,
-            piCol: *mut ::std::os::raw::c_int,
-        ),
-    >,
-}
-#[test]
-fn bindgen_test_layout_Fts5ExtensionApi() {
-    assert_eq!(
-        ::std::mem::size_of::<Fts5ExtensionApi>(),
-        160usize,
-        concat!("Size of: ", stringify!(Fts5ExtensionApi))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<Fts5ExtensionApi>(),
-        8usize,
-        concat!("Alignment of ", stringify!(Fts5ExtensionApi))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).iVersion as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(iVersion)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xUserData as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xUserData)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xColumnCount as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xColumnCount)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xRowCount as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xRowCount)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<Fts5ExtensionApi>())).xColumnTotalSize as *const _ as usize
-        },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xColumnTotalSize)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xTokenize as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xTokenize)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xPhraseCount as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xPhraseCount)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xPhraseSize as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xPhraseSize)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xInstCount as *const _ as usize },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xInstCount)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xInst as *const _ as usize },
-        72usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xInst)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xRowid as *const _ as usize },
-        80usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xRowid)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xColumnText as *const _ as usize },
-        88usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xColumnText)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xColumnSize as *const _ as usize },
-        96usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xColumnSize)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xQueryPhrase as *const _ as usize },
-        104usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xQueryPhrase)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xSetAuxdata as *const _ as usize },
-        112usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xSetAuxdata)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xGetAuxdata as *const _ as usize },
-        120usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xGetAuxdata)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xPhraseFirst as *const _ as usize },
-        128usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xPhraseFirst)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<Fts5ExtensionApi>())).xPhraseNext as *const _ as usize },
-        136usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xPhraseNext)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<Fts5ExtensionApi>())).xPhraseFirstColumn as *const _ as usize
-        },
-        144usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xPhraseFirstColumn)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<Fts5ExtensionApi>())).xPhraseNextColumn as *const _ as usize
-        },
-        152usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(Fts5ExtensionApi),
-            "::",
-            stringify!(xPhraseNextColumn)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct Fts5Tokenizer {
-    _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct fts5_tokenizer {
-    pub xCreate: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut ::std::os::raw::c_void,
-            azArg: *mut *const ::std::os::raw::c_char,
-            nArg: ::std::os::raw::c_int,
-            ppOut: *mut *mut Fts5Tokenizer,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xDelete: ::std::option::Option<unsafe extern "C" fn(arg1: *mut Fts5Tokenizer)>,
-    pub xTokenize: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut Fts5Tokenizer,
-            pCtx: *mut ::std::os::raw::c_void,
-            flags: ::std::os::raw::c_int,
-            pText: *const ::std::os::raw::c_char,
-            nText: ::std::os::raw::c_int,
-            xToken: ::std::option::Option<
-                unsafe extern "C" fn(
-                    pCtx: *mut ::std::os::raw::c_void,
-                    tflags: ::std::os::raw::c_int,
-                    pToken: *const ::std::os::raw::c_char,
-                    nToken: ::std::os::raw::c_int,
-                    iStart: ::std::os::raw::c_int,
-                    iEnd: ::std::os::raw::c_int,
-                ) -> ::std::os::raw::c_int,
-            >,
-        ) -> ::std::os::raw::c_int,
-    >,
-}
-#[test]
-fn bindgen_test_layout_fts5_tokenizer() {
-    assert_eq!(
-        ::std::mem::size_of::<fts5_tokenizer>(),
-        24usize,
-        concat!("Size of: ", stringify!(fts5_tokenizer))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<fts5_tokenizer>(),
-        8usize,
-        concat!("Alignment of ", stringify!(fts5_tokenizer))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<fts5_tokenizer>())).xCreate as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(fts5_tokenizer),
-            "::",
-            stringify!(xCreate)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<fts5_tokenizer>())).xDelete as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(fts5_tokenizer),
-            "::",
-            stringify!(xDelete)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<fts5_tokenizer>())).xTokenize as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(fts5_tokenizer),
-            "::",
-            stringify!(xTokenize)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct fts5_api {
-    pub iVersion: ::std::os::raw::c_int,
-    pub xCreateTokenizer: ::std::option::Option<
-        unsafe extern "C" fn(
-            pApi: *mut fts5_api,
-            zName: *const ::std::os::raw::c_char,
-            pContext: *mut ::std::os::raw::c_void,
-            pTokenizer: *mut fts5_tokenizer,
-            xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xFindTokenizer: ::std::option::Option<
-        unsafe extern "C" fn(
-            pApi: *mut fts5_api,
-            zName: *const ::std::os::raw::c_char,
-            ppContext: *mut *mut ::std::os::raw::c_void,
-            pTokenizer: *mut fts5_tokenizer,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub xCreateFunction: ::std::option::Option<
-        unsafe extern "C" fn(
-            pApi: *mut fts5_api,
-            zName: *const ::std::os::raw::c_char,
-            pContext: *mut ::std::os::raw::c_void,
-            xFunction: fts5_extension_function,
-            xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
-        ) -> ::std::os::raw::c_int,
-    >,
-}
-#[test]
-fn bindgen_test_layout_fts5_api() {
-    assert_eq!(
-        ::std::mem::size_of::<fts5_api>(),
-        32usize,
-        concat!("Size of: ", stringify!(fts5_api))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<fts5_api>(),
-        8usize,
-        concat!("Alignment of ", stringify!(fts5_api))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<fts5_api>())).iVersion as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(fts5_api),
-            "::",
-            stringify!(iVersion)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<fts5_api>())).xCreateTokenizer as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(fts5_api),
-            "::",
-            stringify!(xCreateTokenizer)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<fts5_api>())).xFindTokenizer as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(fts5_api),
-            "::",
-            stringify!(xFindTokenizer)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<fts5_api>())).xCreateFunction as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(fts5_api),
-            "::",
-            stringify!(xCreateFunction)
-        )
-    );
-}